問題タブ [scalatest]
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.
java - 同じトレイト/インターフェースのいくつかの実装の単体テスト
私は主に scala と java でプログラミングし、scala で scalatest を使用し、単体テストには junit を使用します。同じインターフェイス/特性のいくつかの実装にまったく同じテストを適用したいと思います。アイデアは、インターフェイス コントラクトが適用されていることを確認し、Liskov 置換原則を確認することです。
たとえば、リストの実装をテストする場合、テストには次のものが含まれます。
- サイズがゼロの場合に限り、インスタンスは空であるべきです。
- clear を呼び出した後、サイズはゼロになるはずです。
- リストの途中に要素を追加すると、rhs 要素のインデックスが 1 つ増えます。
- 等
ベストプラクティスは何ですか?
scala - ScalaTest で SBT を使用する場合、ScalaCheck/Specs の警告を安全に無視できますか?
私は単純なFunSuite
ベースの ScalaTest を持っています:
次のSBTプロジェクト構成で実行しています:
ただし、実行するsbt test
と、次の警告が表示されます。
現時点では、これらは単なる「ノイズ」(統合テスト インターフェースが原因でしょうか?) であり、無視しても問題ないと思います。しかし、私の内部のOCDの一部にとっては少し面倒です(ただし、他のフレームワークの依存関係を追加する準備ができているほど面倒ではありません)。
これは正しい仮定ですか、それともテスト/構成コードに微妙なエラーがありますか? 無視しても安全な場合、これらのエラーを抑制する他の方法はありますか?または、さまざまなテストに最適なアプローチを選択して選択できるように、3つのフレームワークすべてを日常的に含めていますか?
TIA、ポール。
(追加: scala v2.7.7 および sbt v0.7.4)
scala - ScalaTest: シングルトン オブジェクトの再初期化に関する問題
ScalaTest を使用して、Scala で記述したパーサーをテストしています。パーサーは一度に 1 つのファイルを処理し、次のようなシングルトン オブジェクトを持ちます。
私が書いたテストケースは、このようなものです
各反復で、シングルトン オブジェクト Resolver 内の以前の反復の副作用はクリーンアップされません。
シングルトン オブジェクトを再初期化するモジュールを scalatest に指定する方法はありますか?
更新: ダニエルの提案を使用して、コードを更新し、詳細も追加しました。
更新:どうやら怪しいことをしているのはパーサーです。後続の呼び出しでは、前の AST は破棄されません。変。これは話題から外れているので、もっと掘り下げて、おそらく議論のために別のスレッドを使用します。答えてくれてありがとう
最終更新: 問題はリゾルバー以外のシングルトン オブジェクトにあり、他のファイルにあったため、どういうわけか見逃していました。Daniel Spiewak の返信を使用してこれを解決できました。それは物事を行うための汚い方法ですが、私の状況と、本番環境で使用されないテストコードを書いているという事実を考えると、それが唯一のことでもあります。
scala - Scala:フォルダーに基づいてテストケースを定義する
1つの入力ファイルを受け取るプログラムをテストする必要があります。すべての入力ファイルをフォルダー内に配置しましたが、SBTとScalaTestを使用して次の機能を使用したいと思います。
- TestAll:すべてのファイルに対して一度に1つの入力ファイルでプログラムを呼び出します
test
テスト1: sbtコンソールからのコマンドへの引数として提供された1つの入力ファイルを使用してプログラムを呼び出します
当面、foldernameは固定パスであるため、すべてのファイルのリストは次の方法で取得できます。
どのスカラテストクラスがこの目的に最も適しているかについて、誰かが私に簡単なアイデアを教えてもらえますか?
unit-testing - ScalaTest: ShouldMatcher でシーケンスの内容をチェックする
私の単体テストでは、計算された (結果) シーケンスが結果値の事前定義されたシーケンスを生成したことを表現したいと思います。ただし、シーケンス コンテナーの実際の実装タイプについては何も想定していません。
そして、私は自分の意図をはっきりと自明に説明したいと思います。
ScalaTest の「ShouldMatchers」を使用して記述しようとすると、
...次に、 ArrayBufferをcalculation(..)
返す可能性があるため、単純な等式で問題が発生しますが、リストですSeq("x","u")
unit-testing - このコードを改善する方法
Scaltest を使用して Java アプリケーションのテスト コードを作成しようとしています。Scala には非常に読みやすい構文があるため、結果としてより読みやすいテスト コードが得られると考えました。
これまでのところ、これは私が管理したものです:
私はこのコードにかなりがっかりしています。これは、Java で記述する必要があるものと実質的に同じです。よりスカラ風で機能的なものにするのを手伝ってください。
java - Scalaコードからオンザフライでjava.util.HashMapを生成する方法は?
私は ScalaTest から Java コードを単体テストしており、宣言された同じステートメント内に java.util.HashMap を設定したいと考えています。Scalaでこれを行うことは可能ですか?
scala - TDD で Scala を学ぶ
私は今Scalaを学んでいます。ScalaTest と Specs という 2 つのテスト フレームワークがあることがわかりました。私の唯一の問題は、どちらが優れているかを判断する言語にまだ慣れていないことです. また、私はコードの前にテストを書くことに慣れていますが、現時点では、関数型プログラミングでそれを行う方法が明確にわかりません。理想的には、TDD 方式で Scala を学びたいのですが、それに関するリソースはありますか?
exception - ScalaTest を使用して予想される例外の追加プロパティをテストする方法
ScalaコードをテストするためにScalaTestを使用しています。私は現在、このようなコードで予想される例外をテストしています
しかし、例外に追加のチェックを追加したいと思います。たとえば、例外メッセージに特定の文字列が含まれていることを確認したいと思います。
これを行う「クリーンな」方法はありますか?または、try catch ブロックを使用する必要がありますか?