問題タブ [specs2]
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.
unit-testing - Specs2 - scala での等価性テスト
Specs2 を使用してしばらくの間コードをテストしてきましたが、テストでは、あるタイプの 2 つのオブジェクトが正しく比較されることを確認したいと考えていました。
このテストを実行すると、エラーが発生しました
私のクラスには比較のためのメソッドがなかったので、これは合理的に思えました。そこで、思いついたことをいくつか試してみました。Ordered
さまざまな比較方法を実装して提供することです。
しかし、私はまだ同じエラーが発生し続けます。equalTo マッチャーがどのように機能するかを確認するために specs2 のソースを読み込もうとしましたが、その後はあまりよくわかりませんでした。
(ストック)specs2マッチャーが平等を取得するためにクラスを変更する方法はありますか?
BitField32 は設計上ケース クラスではありません。可変にしたいのです。
scala - SBTで単一のSpec2仕様のみを実行するにはどうすればよいですか?
SBTプロジェクトで2つのテストが定義されている場合:
と
次にtest
、SBTの内部から実行すると、これらの両方のテストが実行されます。これらのテストの1つだけを実行する最も簡単な方法は何ですか?
scala - fromJson(toJson(date)) を介して specs2 と日付を一致させる方法
私は次の問題で立ち往生しています: json への変換と json からの変換が対称であることを主張する specs2 仕様を書きたいです。ただし、joda 日時の日付でエラーが発生します。
これは、問題を示す最小限の仕様です
2 番目のテストで date と date2 を比較するにはどうすればよいですか? それらは同じですが、specs2はそれを認識していないようです:(
- - 編集
date.getClass.getCanonicalName を使用して実行時に型を「手動で」検査すると、期待どおりに org.joda.time.Datetime が返されます
DateTime#isEqual を使用するとある程度は機能しますが、流暢なマッチャーの利点と、それらがもたらす有用なエラー メッセージを失います。さらに、私が実際に比較しようとしているのは、日付自体ではなく、たまたま日付を含むケース クラス インスタンスです。
使用する
と同じエラーが発生します===
scala - Scala/Play 2 - サンプル specs2 テストを実行できない
私は OS X 上の Scala で Play Framework v2.04 を使用しています (Homebrew 経由でインストール)。すべてが期待どおりに機能しますが、Play Web サイトのドキュメントから基本的なHello Worldサンプル specs2 テストを実行できないようです。これは私の/app/test/example.scala
ファイル内のコードです:
ただし、実行するplay test
と、次のエラーが表示されます。
私の知る限り、テスト オブジェクトはplay.api パッケージのメンバーである必要があります ( API リファレンス ドキュメントによると)。
これを解決する方法についてのアイデアはありますか?
ありがとう!
scala - Specs2および@Before/@After-likeメソッド
次のようなコードが与えられます:
「anonymous」と「signinOAuth」の前後で同じ前後のコードが実行され、テストが失敗した場合でも「after」メソッドが実行されるようにするにはどうすればよいですか?
unit-testing - specs2: 複数のマッチャー式 (ユニット仕様)
1 つの Matcher フラグメントで複数の式をチェックするにはどうすればよいですか?
例えば:
エラーが出る
エリックはこのコメントで「古典的な」型推論の問題を参照していますが、答えが見つかりませんでした。
scala - Specs2とのパターンマッチングの使用とScalaでのプレイ
Scala /Play2.0とSpecsに単純な問題があります。
これは私のテストです
次の理由により、これはコンパイルされません。
したがって、Im think status(result)matchはAnyに評価されているため、エラーになります。戻り値が偽のデフォルトのケースがある場合、その結果タイプがResultであることをどのように指定する必要がありますか?
elasticsearch - テスト用に埋め込みElasticSearchインスタンスを実行する方法
単体テストの目的でElasticSearchインスタンスが埋め込まれているセットアップで作業していますが、sbt()を使用してテストを継続的に実行すると、システム~test-only <my-test>
がフリーズして火事で停止するまで、システムがますます不安定になります。
私が適切に仕事をするのに苦労していることは次のとおりです。
- 隔離
- 掃除
- シャットダウン
これを設定する適切な方法は何ですか(ソリューションはspecs2を使用することが望ましいですが、Javaベースも歓迎します)?
scala - Specs2 - 並行環境ではユニット仕様スタイルを使用しないでください
Specs2 は、Acceptance 仕様 (必要に応じて Unit 仕様も) を扱う際に機能的なスタイルを促進します。
古いスタイル (変更可能なスタイル) を使用するリスクは、仕様Specs2 の哲学で言及されており、潜在的な望ましくない副作用に関係しています。
知っておくべき重要事項は次のとおりです。
副作用は仕様フラグメントを構築するためにのみ使用され、変数を変更することによって、失敗が発生するとすぐに例の実行を短絡するためにも使用されます (例外をスローすることによって)。例の本体でフラグメントをビルドしたり、同じ仕様を並行して実行したりすると、空が落ちるはずです。「コンテキスト」管理は、ケース クラスまたはトレイトで行われます (org.specs2.examples.MutableSpec を参照)。
同じ仕様を 2 回以上同時に実行したとしても、各仕様は他の仕様 (分離されたクラスのインスタンス) とは異なるため、同じ仕様を同時に実行する方法がわかりません。
確かに、specFragments
(可変変数):
(スカラの意味で=>シングルトン)または他の共有のものではなく、a trait
呼び出されたで宣言されているため、各のインスタンスのローカル変数です。FragmentBuilder
object
specFragments
Specification
では、どのようなシナリオで同時実行メカニズムが危険にさらされる可能性があるのでしょうか?
Specs2 の機能的スタイルの利点を証明する真のシナリオ (愚かではない) を実際には理解していません。
neo4j - Specs2/Neo4j-Specs2でのImpermanentGraphDatabaseの使用
Specs2を使用して検収試験を書いています。
ImpermanentGraphDatabase
メモリ内のNeo4jグラフを作成するために使用したいと思います。統合テストに最適です。
Neo4j用にSpring-Dataをセットアップしましたが、Springファイルの構成には次のものが含まれています。
各Specを分離するために、オプションdestroy-method="shutdown"
が通常ではなくSpecs2を考慮に入れているのではないかと思います。JUnit
example
要約すると、それぞれexample
に独自のメモリ内グラフインスタンスがあるのでしょうか、それともすべてのインスタンスで共有されるのでしょうか。
specs2は、Specification
これらすべてのSpecの例の実行に同じインスタンスを使用するため、適用できないと思います。実際、Specs2の機能スタイルでis()
は、1つのインスタンスですべての例をエングロビンと呼ばれるのはメソッドだけです。
BeforeExample
また、それぞれのデータベースをクリーンアップするためにトレイトを実装しようとしましexample
たが... Gived / Then / Whenスタイルでは、全体が一意であると見なされているようですexample
。確かに、セパレーターは^
従来のの代わりにあり!
、後者は1つを表しexample
ます。
ImpermanentGraphDatabse
各ステップ(Given
またはWhen
またはThen
ステップ)の前にインメモリデータベース()をクリーンアップしたい