問題タブ [testunit]
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.
ruby-on-rails - Test::Unit と Shoulda を使用して Factory Girl をセットアップする
Ruby on Rails で Test::Unit と Shoulda を使用して Factory Girl をセットアップしようとしています。gem をインストールし、test/factories ディレクトリに factory ファイルを作成し、test/models ディレクトリに spec ファイルを作成しました。現在発生しているエラーは「ArgumentError: No such factory: test」です。これにより、test_factory.rb ファイルがロードされていないと思いますか? 私が何を変更すべきかについて何か考えはありますか?
これが私のファイルです。
と
ruby - Test::Unit のグローバル セットアップおよびティアダウン ブロック
(1 つのテスト クラスだけでなく) テスト スイート全体のすべてのメソッドの前にセットアップを実行する最良の方法は何ですか?
Rspec を使用すると、グローバルな before および after ブロックを定義できます。モジュールを各テストクラスに混在させることを含まない、Test::Unit でこれを行うためのきれいな匹敵する方法はありますか?
ruby - Test::Unit でモジュールをテストする
Test::Unit でモジュールをテストしようとしたときに問題が発生しました。私がやっていたことはこれです:
my_module.rb:
test_my_module.rb:
問題は、my_module が初期化メソッドを宣言すると、それがテスト クラスに含まれ、Test::Unit が初期化メソッドをオーバーライド/生成するように見えるため、多くの問題が発生することです。モジュールをテストする最良の方法は何ですか?
初期化メソッドは何かの状態を初期化するために作成されているため、この時点で私のモジュールがクラスになるべきかどうかも疑問に思っています。意見?
前もって感謝します !
ruby - Ruby では、Test::Unit テストが実行される順序を制御するにはどうすればよいですか?
たとえば、これらのテストが実行されるとき、test_fizz
常に最初に実行されるようにしたいと考えています。
更新:なぜこれをしたいのですか?私の考えでは、特定のテスト (より単純で基本的な方法をテストするテスト) による初期の失敗により、システムの問題を追跡しやすくなります。たとえば、成功は正しく機能するかどうかbar
にかかっています。fizz
が壊れている場合fizz
、 について心配する必要がないので、すぐにそれを知りたいのですがbar
、これも失敗しますが、テスト結果にははるかに複雑な出力が含まれます。
ruby - 別の Ruby モジュールからの例外がスローされたことをどのようにアサートしますか? (assert_throws を使用)
私は次のようなコードを書こうとしています:
ExtractionFailed
の自明なサブクラスでありException
、テスト/ユニットの下で、 unit.extract_from(... bad data...) を呼び出すとスローされることをアサートしようとしています
SemanticText モジュールに移動ExtractionFailed
したので、test/unit は次のようになります。
assert_throws(:SemanticText::ExtractionFailed) {...} を書いてみましたが、かなり紛らわしいメッセージが表示されました。TypeError: SemanticText is not a class/module
次のようにすることで機能させることができます(ハックのように見えますが):
では、このアサーションを Ruby で表現する正しい方法は何でしょうか?
ruby - ruby test の実行中にテストプログラムの名前とドットを取得する方法
rake を使用してテストを実行すると、テストの進行中にドットが表示されます。私が欲しいのは、ドットの前のテストプログラムの名前です。いくつかの警告が表示されますが、どのテストが警告を投げているのかわかりません。テスト名を取得すると、非常に役立ちます。
ruby - ユニットテストをrubyモジュールに含めるにはどうすればよいですか?
Perl modulinoモデルに従って、モジュール自体と同じソースファイルにモジュールの単体テストを含めようとしています。
これで、このソースファイルを実行する単体テストを実行できます。
ただし、別のスクリプトからそれらを要求/ロードするときにも実行されます。どうすればこれを回避できますか?
この慣習が推奨されない限り、Rubyでこれを達成するためのより慣用的な方法はありますか?
ruby - gem がそのリポジトリ ディレクトリへのパスを知るにはどうすればよいですか?
私の gem のセマンティック テキストには、回帰テスト用に読み取る一連のテスト データがあります。
プロジェクトは次のとおりです: http://github.com/dafydd/semantictext
gem から直接実行できるようにしたいテストの例を次に示します: http://github.com/dafydd/semantictext/blob/master/test/test_document.rb (テキスト「SANDBOX」を探します)
通常、「semantictext」というディレクトリで開発し、環境変数 SANDBOX を「semantictext」の上のディレクトリのパスに設定して、ENV['SANDBOX'] を使用してプロジェクト内の任意のファイルを参照できるようにします。
gem がパッケージとしてインストールされている場合、rake から実行されているテスト/単体テストで次のことができる方法はありますか?
1) gem から実行されていることを知っていますか? と
2) ローカル rubygems リポジトリ内のセマンティックテキスト ディレクトリへのパスを知っていますか?
任意の gem インストールからすべてのテストを簡単に実行できるようにしたいと考えています。これにより、継続的インテグレーションが少し簡単になり、より良い gem を作成できるようになります。
ありがとう、ダフィッド
ruby - ruby Unit::Test にテストの結果を話させる
組み込みの OSX 'say' コマンドを使用して、長時間実行されているテストの終了を知らせてきました。簡単で便利です。
「6回のテスト、18回のアサーション、0回の失敗、0回のエラー」という結果の最後の行を話させたいと思いますが、それでも進行中の出力を保持します。これを行う方法はありますか?
私はもう試した:
しかし、それはテスト結果をそのまま出力しません。
行の最後の 2 つの部分だけを「0 の失敗、0 のエラー」と言うようにするためのボーナス ポイント。
ruby-on-rails - Railsフィクスチャ - テーブル名を定義しますか?
現時点では、すべてのフィクスチャが目的のテーブルと同じ名前になっています。レールに関する最近の問題により、'test' という単語で始まるフィクスチャを作成することはできないようです。
別のフィクスチャ名を付けて正しいテーブルにマップする方法を知っている人はいますか?
ありがとう、アンディ