問題タブ [spock]
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.
grails - grailsテストアプリの失敗をコンソールに出力する
SOについてはすでにいくつかの質問がありますが、どれも満足のいくものではありませんでした。私はテスト駆動開発を行っています。ただし、STSがクラッシュし続けるため、STSを使用して単体テストを実行し、代わりにコマンドラインで「grailstest-app」を使用して実行することはできません。これは問題ありませんが、テストが失敗すると、失敗の理由がコンソールに出力されません。他のスレッドで提案されているように-echoOutと-echoErrを使用してもヘルプ、これはテスト中にログに記録または印刷されたもののみを印刷し、JUnitまたはSpockの失敗の理由は印刷しません。そのため、現在、私は常にHTMLが生成されるのを待ってから、ブラウザーで障害を見つける必要があります。これにより、実際に速度が低下します。どんなにハッキーであっても、私はどんな解決策も受け入れます(つまり、grailsソースにハッキングして再コンパイルするのは私にとっては問題ありません!)。
grails - mockDomain の特異な振る舞い
こんにちは、以下の単体テストがあります。
スロー
何か案は ?
unit-testing - Item.constraints.xyz にアクセスするクラスをテストするときに、「そのようなプロパティはありません」を取り除くにはどうすればよいですか?
単体テストで次のコンスタレーションが返されます。No such property: title for class: myproject.Item Possible solutions: title
ItemController.groovy
ItemControllerSpec.groovy
その制約行をどのようにモックアウトできますか?
注:その行が原因で失敗するのではなく、テストを実行したいだけです。
grails - Grails Geb/Spock テスト ケースで sessionFactory を取得するにはどうすればよいですか?
GebSpec テストで hibernate セッションをフラッシュする必要があると思うので、sessionFactory を取得したいと考えています。
注入する必要があるように見えますが、次のようなことをすると:-
sessionFactory が null で失敗します。
groovy - ページ イベント後に要素の属性値を確認するために Geb を使用する方法
ここで少し助けた後、私は Geb を使用して機能的な Web テストを作成しており、イベントが発生する前後の両方でフォーム送信ボタンの無効な属性値をテストしたいと考えています。フローは次のようになります。
- ページの読み込み、送信ボタンはページソースで無効として宣言されているため、無効にする必要があります
<input type="submit" class="submit" disabled="true"/>
。 - ページのチェックボックスをオンにすると、JQuery コードが実行され、無効になっている送信ボタンがプログラムで有効になります。
$('input.submit').attr('disabled', false);
私の最初の試みは assertion を使用することでした$('input.submit').@disabled == 'true'
。これは、ページの読み込み後の最初のチェックでは機能するように見えましたが、JQuery コードを実行してボタンを有効にした後も、後続のチェックで同じ結果が返されます。これにより、この種のチェックはページの読み込み時にのみ値を報告でき、その後のプログラムによる変更は表示されないのではないかと思いました。
その後、Geb の jquery itegration を発見しました。これを使用して送信ボタンの値を返し、これに対してアサートを実行できることを望んでいました。たとえば$('input.submit').jquery.attr('disabled') == false
、Geb のドキュメントでは、.jquery
プロパティへのすべての呼び出しが Geb Navigator インスタンスを返すことが確認されているので、残念ながらそうではありません。必要な情報を返すことができるとは思いません。
また、JQuery コードが実際に送信ボタンを無効な状態に切り替えているかどうかも疑問でした。Firebug を使用してこれを広範囲にテストし、これがブラウザーで完全に機能していることを確認できたので、これは Geb の理解に問題があるか、またはおそらくGeb自体の制限ですか?
ページで何らかのアクションを実行した後に要素の属性の値をチェックするのは一般的なユースケースかもしれないと思います。これを整理するのに役立つポインタがあれば、最も感謝しています。
乾杯、
エド
unit-testing - ユニットテスト用のgrailsコマンドオブジェクトの検証制約を無効にする(Spockを使用)
コマンドオブジェクト検証用の単体テストを作成しようとしています。コマンドオブジェクトに多くの検証ルールを持つ多くのフィールドがある場合、テストケースごとにコマンドオブジェクトを設定するのは冗長すぎて繰り返しになります。
私がこのコマンドオブジェクトを持っているとしましょう:
私は次のようなことをしてこれをテストしたいと思います:
memberCommand.validate()が呼び出されると、すべての制約が使用され、タイトル「Mr」がテストされている場合でも検証エラーが発生するため、このテストは失敗します。この1つのテストの名前と電話番号を設定できますが、名前の検証をテストするときはタイトルと電話番号を設定し、電話番号の検証をテストするときはタイトルと名前を設定する必要があります。より複雑なルールを持つコマンドオブジェクトへのフィールドが増えると、これがどのように煩わしくなるか想像できます。
Grailsでのユニットテスト(Spockを使用)で制約を無効にする方法はありますか?
そうでない場合、このような状況に対する他の提案はありますか?
ありがとうございました。
testing - テスト後に特定のレコードをロールバックするにはどうすればよいですか?
一部のデータベースコンテンツを変更するスポック/スプリングテストがあり、そのレコードをロールバックする方法を知りたいです。
現在、生のSQLステートメントを実行し、フィールドデータを保存し、テストが成功した後、そのデータを復元します。しかし、私の推測では、これはより簡単な方法で行うことができますか?
spring - Spock テストにプロパティ値を挿入する方法は?
スポック テストを使用する場合、スポック テストにハードコードされたいくつかのプロパティをハードコードしました。例は JDBC URL です。プロパティ ファイルと一緒に @Value アノテーションを試しましたが、私のテストにはステレオタイプがないため、うまくいかないようです。プロパティ値を挿入する他のソリューションはありますか?
spring - Spock テストで Spring PropertyPlaceholderConfigurer で @Value アノテーションを使用する方法は?
Spring PropertyPlaceholderConfigurer で @Value アノテーションを使用することは可能ですか?
@Value<util:properties id="appProperties" location="classpath:application-test.properties" />
で正しく動作しますが、1 つの構成方法を使用したいと思います。これで、両方が同じプロパティ ファイルを指しています。
groovy - スポック vs フィットネス
私は Spock を調べていて、FitNesse の経験があります。同じまたは類似の問題空間に対処しているように見える場合、人々はどのように一方を他方よりも選択するのでしょうか。
また、テスト用に Spock やその他のグルーヴィーなコードを使用している人々にとって、顕著なパフォーマンスの低下は見られますか? テストはすぐにフィードバックを返すはずです。テストの実行に時間がかかると、開発者はテストの実行頻度を下げる傾向があることがわかっているため、テスト実行速度の低下が現実の世界に影響を与えているかどうか疑問に思っています。 .
ありがとう