問題タブ [functional-testing]
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 - テストに費やす時間を減らす方法は?
最近終わったばかりのプロジェクトを振り返ってみると、非常に深刻な問題が見つかりました。私は銀行の時間のほとんどをコードのテストに費やし、コードエラーを「引き起こす可能性がある」さまざまな状況を再現しました。
テストに費やす時間を短縮して開発をよりスムーズにする方法について共有するアイデアや経験はありますか?
私はすべてのコードでテスト駆動の概念に従おうとしましたが、これを達成するのは非常に困難であり、ここの先輩たちの助けが本当に必要です。
ありがとう
再:すべて
上記の回答に感謝します。最初の質問は、一般的なテストの時間を短縮する方法でしたが、今では、効率的な自動テストコードの記述方法に問題があります。
この時間を短縮するために、テストスーツの書き方のスキルを向上させていきます。
ただし、エラーの再現に費やす時間を短縮する方法にはまだ苦労しています。たとえば、標準のブログプロジェクトでは、状況を再現するのは簡単ですが、エラーが発生する可能性がありますが、複雑な特注の内部システムをテストすることはできません。簡単に理解できますが、それは価値がありますか?この種のプロジェクトでテスト計画を立てる方法について何か考えがありますか?
まださらなる答えをありがとう。
c# - 中程度の信頼のコードのテストを自動化する方法
中程度の信頼で実行され、完全な信頼が必要な場合に失敗する自動テストを作成したいと考えています。
一部の機能が完全な信頼のシナリオでのみ使用できるライブラリを作成しており、中程度の信頼で実行したいコードが正常に動作することを確認したいと考えています。完全な信頼を必要とするクラスを変更すると、テストが失敗することも知りたい場合。
別の AppDomain を作成し、信頼度が中程度の PolicyLevel を読み込もうとしましたが、クロス AppDomain コールバックを実行しようとすると、常にアセンブリでエラーが発生するか、その依存関係を読み込めませんでした。
これを取り除く方法はありますか?
更新:返信に基づいて、これが私が持っているものです。テストするクラスは MarshalByRefObject を拡張する必要があることに注意してください。これは非常に制限的ですが、それを回避する方法がわかりません。
asp.net - 自動化された Web テストをビルド プロセスに統合する
Web サイトの機能テストを自動化するプロセスを改善するための提案を探しています。過去に試したことはこちら。
以前はWATINを使用したテスト プロジェクトがありました。「単体テスト」のように見えるものを効果的に記述し、WATIN を使用してブラウザーを自動化し、サイト内などをクリックします。
もちろん、サイトを実行する必要があります。そのため、実際にコードを Web プロジェクトからローカル ディレクトリにコピーし、テストを実行する前にそのディレクトリを指す Web サーバーを開始しました。
そうすれば、新しい人がソース管理から最新のものを取得してビルド スクリプトを実行し、すべてのテストが実行されるのを見ることができます。また、IDE からすべてのテストを簡単に実行することもできます。
私が遭遇した問題は、テストよりもテスト環境をセットアップするためのコードの保守に多くの時間を費やしたことです。コピーのせいで実行に時間がかかったことは言うまでもありません。また、インストールを含むさまざまなシナリオをテストする必要がありました。つまり、データベースをさまざまな初期状態に設定できる必要がありました。
機能テストを自動化してこれらの問題のいくつかを解決し、それをシンプルに保つためにあなたが行ったことに興味がありました。
MORE DETAILS 人々が詳細を尋ねてきたので、ここにある。Visual Studio と Cassini (組み込みの Web サーバー) を使用して ASP.NET を実行しています。私の単体テストは MbUnit で実行されます (ただし、それはそれほど重要ではありません。NUnit または XUnit.NET である可能性があります)。通常、別の単体テスト フレームワークですべての WATIN テストを実行します。AssemblyLoad フェーズでは、Web サーバーを起動し、すべての Web アプリケーション コードをローカルにコピーします。
あらゆるプラットフォームのソリューションに興味がありますが、それぞれの意味についてさらに説明が必要な場合があります。:)
ruby-on-rails - factory_girl の関連付けを使用した DRYer テスト
ファクトリがその関連付けに事前構築済みのモデル インスタンスを使用するようにするためのより良い方法を提案できる人はいますか? たとえば、次のように Message ファクトリの子を定義して、 への呼び出し
で?Factory(:my_message)
を置き換えることができる
ようにします。Factory(:message,:sender=>@me)
場合によっては、セットアップ ハッシュがこの不自然な例よりも複雑であるか、非常に多くのテストで繰り返されるため、ファクトリにプッシュした方がよいように思われます。
私が考えることができる 1 つの代替手段は、 などのテスト ヘルパー メソッドを定義するcreate_message_owned_by(@me)
ことですが、factory_girl 自体に方法があることを願っています。
factory_girl 工場:
MessagesControllerTest の抜粋 (shoulda を使用):
authlogic - 機能/統合テストのAuthlogicedit_password_reset_url
http://www.binarylogic.com/2008/11/16/tutorial-reset-passwords-with-authlogic/で説明されているように、Authlogicパスワードリセットの動作を検証するためにいくつかのテストを実装しようとしています。
私はAuthlogic、Shoulda、Webrat、Factory Girlを使用していますが、これが私のテストです。
テストの最後の2行で、送信されたリンクに正しいperishable_tokenが含まれていることを確認しようとしています。これは、印刷された生鮮トークンと送信されたリンクのトークンで常に異なって表示されます。
この動作をどのようにテストする必要がありますか?
ありがとう、Siva
asp.net - 機能/統合テストとデータベースのロールバックを自動化する方法
私の前の質問とは対照的に、私は私の要件を与えようとします.
以下に適合するフレームワーク/方法論/「もの」を見つけようとしています:
- C# を使用して、できれば Visual Studio で作成された自動テストを作成する能力。
- テストは Web ブラウザーを駆動し、ユーザーと同じように SUT と対話する必要があります。
- テストでは、DB でテスト シナリオをセットアップできる必要があります。
- テストでは、ユーザー インタラクションが DB で期待される効果を発揮したことを確認できる必要があります。
- テストが完了すると、DB で行ったすべての変更をロールバックできるはずです。
私の最初の試みは、NUnit テストを使用して Selenium (およびその前に Watin) を駆動することでしたが、TransactionScope を使用して Selenium 駆動型ブラウザーが DB で行った変更をロールバックするときに、少し問題に直面しました (上記のリンクを確認してください)。
「現実の世界」でこのようなことをした人はいますか?Google で参考文献をいくつか見つけましたが、これを実装する方法に関する具体的な例を見つけることができませんでした。単体テストを行っていれば問題ありません。その場合、TransactionScope で十分です。
編集: R. Harvey がこの質問を指摘してくれましたが、これは私の状況とほぼ同じです。
ただし、その質問はほぼ同じです。私のアプリケーションは一連のサービスの一部であり、そのすべてが同じデータベース テーブルのセットにアクセスしています。必要なテスト データの量では、ドロップ/作成スクリプトを効率的に使用できません。これに対する代替ソリューションはありますか?
私たちは SQL Server 2005 を使用していますが、私はデータベース マジックにあまり精通していません。そのため、ドロップ/作成以外の SQL スクリプトを使用する方法があれば、それがオプションになる可能性があります。
編集2:
回答といくつかの追加のヘッド スクラッチに基づいて、開発者が単体テスト、統合テスト、および機能テストを実行するためのより軽量なデータベースを使用します。これにより、テストのセットアップと破棄に sql-scripts を使用できるようになります。
ruby-on-rails - RubyonRailsでの関係における子の数の違いをアサートします
私のコントローラーは子book_loanを作成できます。機能テストでこの動作をテストしようとしていますが、assert_differenceメソッドを使用するのに苦労しています。運が悪かったので、book_loansのカウントをassert_differenceに渡すいくつかの方法を試しました。
BookLoanを文字列に変換できません
NoMethodError:未定義のメソッド'book_loans' for#
Procを文字列に変換できません
ruby-on-rails - アクションが正しいテキストを返すことをアサートする方法は?
レールのアクションが正しいテキストを返していることをテストする標準またはベストプラクティスの方法はありますか? たとえば、次のことを行う ajax 検証を行うために使用される単純なアクションがあります。
現在、テストで @response オブジェクトを使用しています...つまり:
しかし、私がこれまでに見てきたことは、ほとんどが Rails に慣れていないことですが、チェックする以外に、おそらくこれを行うためのより良い方法があることを示唆しているようです@request.body
。
そこで、Ruby の専門家の皆さんに質問します。これが最善の方法ですか?
firefox - 機能テストのために Firefox ブラウザーで自動化する方法は?
機能テストを行うために Firefox アプリケーションを自動化する必要があります。
どのテストツールを使用できるか教えてください。
ありがとう