問題タブ [ex-unit]

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 に答える
730 参照

unit-testing - ExUnit テストでアンダースコア (_) を使用する

私のエリクサーアプリにはSome.Module.func/1、2 つの数値のタプルを返すメソッドがあります。ExUnit でテストを書いていますが、タプルの最初の要素だけをテストする必要があり、2 番目の要素はあまり気にしません。

これまでのところ、私はこれをやってみました:

しかし、テストを実行すると、次のエラーが発生します。

これが機能しないのはなぜですか? また、テストで不要な結果を無視するにはどうすればよいですか?

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

elixir - ExUnit で共有の例を使用する方法はありますか?

RSpecでは、テストを作成し、 を使用して複数の場所から参照することができますshared_examples。開発者の生活を大幅に簡素化します。

ExUnit で共有の例を使用する方法はありますか?

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

elixir - Elixir assert_raise は例外をキャッチしません

私はこのテストケースを書きました:

しかし、それは私が期待する方法で評価されません。myFnは ArgumentError ( do: raise ArgumentError) を発生させますが、 によってキャッチされませんassert_raise

ドキュメントの例はうまくいきます:

ドキュメントから:

assert_raise(exception, function)
実行exception中に が発生したことを アサートします。functionレスキューされた例外を返し、それ以外の場合は失敗します

私のテストケースでは、引数が最初に評価されると思います。でも、どう書いたらいいの?

0 投票する
2 に答える
862 参照

testing - ExUnit でテストするときに IO 入力を偽造するにはどうすればよいですか?

IO.getsユーザーからの入力を数回取得する Elixir プログラムをテストしたいと思います。テストでこの入力を偽造するにはどうすればよいですか?

注:それぞれに異なる値を返したいIO.gets

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

elixir - 許可された属性または必須の属性がゼロの無効な属性テストに合格するにはどうすればよいですか

Ecto 2.0 を使用して、このテストをパスさせようとしています:

モデルはこちら

キャストは、許可されたリストにないデータを単に無視するように見えるため、チェンジセットは有効であると見なされ、テストに失敗します。

0 投票する
2 に答える
804 参照

io - 生成されたプロセスからキャプチャされた IO のテスト

次のメソッドで戻り値と IO 出力をテストしたいと思います。

ExUnit.CaptureIOdocsには、次のようなこれを行うサンプル テストがあります。

spawnそれを考えると、同様のアクションを実行するがed プロセスを使用する次のテストを記述できると思いました。

ただし、端末に出力が表示されていても、出力がなかったことを示す次のエラー メッセージが表示されます。

それで、マクロspawnを使用する ed プロセスまたはメソッドのテストに関して、おそらく何かが欠けていますか? receiveテストに合格するように変更するにはどうすればよいですか?

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

elixir - フェニックスでセッションとの接続を使用するには?

認証プラグがあり、コントローラをテストしたいと考えています。問題は、このプラグのラインに

そして、このメソッドを使用しているときは常に nil です (以前はダーティハックを使用していましたが、もうやりたくありません):

この conn を使用してパッチ リクエストを送信していますが、そのセッションの user_id は nil です。IO.puts conn私のプラグインでの結果:

この問題を解決し、認証を適切にテストするには、どうすればよいですか?

UPDATE認証プラグ

ルーター (ここからいくつかの部分を切り取りました):

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

testing - Elixir でのメソッド委譲のテスト

私は2つのモジュールを持っています:

Base.ModuleOne.do_stuff/1別の名前空間で関数のテストをコピーして貼り付けずに委任をテストする適切な方法は何ですか?

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

elixir - テスト中に実際のフェニックスサーバーを実行するには?

モックできない外部ライブラリを使用して、ちょっとトリッキーな機能を実装しています。サーバーへの実際のリクエストを実装する必要があります。そう、

テストの実装中に Web サーバーを実行するにはどうすればよいですか?

PS 私config/test.exs:

私はしようとしてcurl http://localhost:5000いますが、得ていますcurl: (7) Failed to connect to localhost port 5000: Connection refused