問題タブ [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.
scala - Specs2 - Given/When/Then ステップの複雑なオブジェクトを定義する方法
Specs2 のドキュメントとサンプルには、受け入れテストでの Give/Then/When スタイルの使用に関するコードがいくつか示されています。
ここにそれらの1つ:
ただし、ここでは一部のプリミティブ オブジェクトのみを扱いInt
ます (サンプルなので通常)。
しかし、複雑なオブジェクトをどのように扱うのでしょうか? を使用していDatatables
ますか?
理想的なのは、「フィクスチャ」のファイル内で、複雑なオブジェクトを定義するデータテーブル (または同様のもの) を定義することです。
User
「Mik」を定義する外部データテーブル
次のような Given ステートメントを作成したいと思います。
良いプラクティスとは何ですか? Specs2 は現在何を提供していますか?
scala - specs2 Json マッチャーと組み合わせて文字列マッチャーを使用することは可能ですか?
specs2 テスト内で、JSON マッチャーを使用して json 文字列を検証しています。正規表現を使用して値を一致させることが可能であることを私は知っています
きちんとした方法で他の文字列マッチャー (contains など) を使用することは可能ですか?
この厄介な例を考えると:
このマッチャー
よりもはるかにきれいに見えます
これは適切な表現ではありませんが、この場合はうまくいく可能性があります。
unit-testing - specs2の障害表示を減らすにはどうすればよいですか?
specs2を使用して2つの非常に大きな配列を比較しようとしています。残念ながら、配列が等しくない場合は、実際の配列と期待される配列の各配列の内容が表示されます。とにかく、実際のデータと予想されるデータの量を減らすか、この特定のテストのためだけにデータを完全に削除することができますか?
setMessageを使用してみましたが、実際の部分と予想される部分には影響しません。
私が実際にやろうとしているのは、2つの入力ストリームを比較することです。また、誰かが配列に変換するのではなく、それを行う方法についてより良いアイデアを持っているかどうかを聞くことに興味があります。
scala - シェルでsbtを使用して、名前空間に基づいて特定のテスト仕様を実行できません
CIビルドの一部としてシェルからspecs2テストを実行しようとしています。ローカルWindowsマシンで次のコマンドを実行すると、適切な仕様が実行されます。Unit名前空間で定義された仕様。
ただし、私のビルドマシン(ubuntu)では、名前空間パラメーターをテスト専用に無視しているように見え、その結果、すべてのテストが実行されます。一重引用符は違いを生まないようです。sbtコンソールに入り、コマンド(test-only Unit。*)を実行すると、期待どおりに機能します。
任意の提案をいただければ幸いです。
scala - FluentLenium API で Specs2 を使用する際のエラー
Scala 2.10、Specs2 13.1-SNAPSHOT、および Play2 Framework 2.1 が提供する FluentLenium Api を使用しています。
ファイルに次のコード行がありIntegrationSpec
、子要素を見つけます(FluentLenium仕様による):
その行により、次のコンパイル エラーが発生します。
それは一種の...ジェネリックによるScala/Javaの非互換性ですか?? または私が理解していなかった通常の動作?
ただし、この行 (マッチャーを省略) は適切にコンパイルされます。
scala - specs2で「すべき」ブロック/フラグメントをスキップするにはどうすればよいですか?
次のように「ユニット」スタイルで定義された specs2 仕様があるとします。
should block/fragment for 内のすべての例をスキップ/無効化/保留中としてマークする簡単な方法はありmyMethod
ますか?
明らかに、ブロック内の個々の例を呼び出しpendingUntilFixed
たり返したりすることができますが、多くの仕様を持つブロックでは、これはかなり面倒です。pending
MyClass.myMethod
実装が困難でパントされる場合、これはよくあることのようです。これがspecs2で一般的に行われる別の方法はありますか?
scala - swagger をサポートする scalatra アプリで spec2 テストが失敗する
Swagger をサポートする scalatra アプリでプロトタイプの spec3 テスト ケースを呼び出すと、テストが失敗します。
テスト/仕様コードは次のとおりです: ServletSpec.scala
TestController は次のようになります: package com.newco
sbt テストは次のエラーで失敗します (詳細なトレースはありません): [error] x should return success [error] ' [error] [error] [error] Error 500 com.acme.TestController [error] [error] [error]
HTTP エラー: 500
[エラー]/api/account へのアクセスに問題があります。理由: [エラー]
p> [エラー]Powered by Jetty:// [error]
[error] [error] [error] ' [error] is not equal to ...
scala - @RunWith(classOf [JUnitRunner])ダンスなしですべてのテストを実行しますか?
IntelliJのJUnit「RunAllTests」コマンドを設定して、Scala Specs2を自動的に取得する方法はありますか?つまり、このスニペットのボイラープレート注釈を削除します。
これを追加することを忘れないようにするのは非常に苛立たしいことです。
私は見SpecificationWithJUnit
たことがありますが、それもちょっとしたハックです(そしてと互換性がありませんTestKit
)。私はmaven/sbt/intelliJサイドソリューションを探しています。
scala - Play 2.1 と Scala でのファイル アップロードのテスト ケースの作成
次の質問/回答を見つけました。
Play 2.0 FakeRequest で MultipartFormData をテストする
しかし、Play 2.1 では事情が変わったようです。私はその例を次のように適応させようとしました:
ただし、リクエストを実行しようとすると、null ポインター例外が発生します。
非推奨の routeAndCall を単に route に置き換えようとすると (そして結果の Option を削除すると)、MultipartFormData[TemporaryFile] のインスタンスを HTTP 応答に書き込めないというコンパイル エラーが発生します。
Play 2.1 with Scala でこのテストを設計する正しい方法は何ですか?
編集:コントローラーのみをテストするようにコードを変更しようとしました:
しかし、次のように、結果の周りのすべてのテスト条件で型エラーが発生します。
結果にマップされたバイト配列の Interator を取得する理由がわかりません。これは、カスタム ボディ パーサーの使用方法と関係がありますか? 私のコントローラーの定義は次のようになります。
この投稿のフォーム パーサーの使用: Pulling files from MultipartFormData in memory in Play2 / Scala
scala - 仕様を順番に実行する方法
データベースと相互運用する仕様をいくつか作成したいと思います。
データベースは、すべての例(順次実行される)の前後に作成および削除されます。データベースで機能する仕様が1つだけになるまで、Everithingは期待どおりに機能します。仕様は並行して実行されるため、干渉して失敗します。
specs2に、副作用のないテストを並行して実行しながら、副作用のあるテストを順番に実行するように指示することで、これを回避できることを願っています。出来ますか?