問題タブ [zio]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
588 参照

scala - Scala、ZIO - 効果が成功を返すかどうかをテストする方法は?

モックされたサービスをチェックする簡単なテスト コードがあります。

serviceを返しますTask[Done]unsafeRun問題なく動作しますが、これが返されるかどうかも確認したいと思いますsucceed。私はこのようにそれをやろうとしました:

また:

しかし、うまくいきません。効果の結果が成功したかどうかを確認する方法はありますか?

0 投票する
1 に答える
328 参照

scala - ZIO 1.0.3 は環境の動作方法を変更し、現在 http4s Blaze は実行されません

私は初めて ZIO を使用しており、https://github.com/guizmaii/scala-tapir-http4s-zio/blob/master/src/main/scala/example/HttpApp.scalaのボイラープレート スタブから始めました。 ZIO バージョン 1.0.0-RC17 を使用して、Tapir を含む http4s Blaze サーバーをセットアップして実行します。それはうまくいきましたが、後でバージョン 1.0.3 に更新して最新バージョンを使用しようとしましたが、そのバージョンはこのスタブのコードと互換性がありません。具体的には:

これはサーバーを定義するコードです (いくつかの無関係なルーティング行はオリジナルから切り取られています):

これは run() メソッドの本体です。このコードを実行しても、アプリがコード 0 で終了することはありません。予想どおり、Blaze サーバーが終了をブロックするためです。問題は次のスニペットです。

Has[A] が導入されたため、これは 1.0.3 では機能しません。コンパイラは、最終クラス Has から継承できないため、新しいクロックを呼び出すことができないと不平を言うようになりました。

これを置き換えることでこれを改善しようとしました

終了コードの int を ExitCode オブジェクトに置き換えると、コードはコンパイルされますが、この後、Blaze サーバーはアプリの初期化や終了の防止を行っていないようです。終了コード0で終了しました。

明らかに何かが欠けています。古い環境システムから Has[A] に基づく新しいシステムへの移行に関する情報は見たことがありません。Blaze サーバーが再び実行されるように、このボイラープレートを修正するにはどうすればよいですか?

0 投票する
3 に答える
115 参照

zio - 理解スニペットのために簡単な ZIO を実行する方法

getstarted zio doc ページには、この些細な例がありますが、実行できません。このスニペットを機能させるための簡単なコードは何ですか (質問があり、コンソールで回答できる) ?