問題タブ [xunit.net]
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 - Assert.Fail() は悪い習慣と見なされますか?
私は TDD を行うときに Assert.Fail をよく使用します。私は通常、一度に 1 つのテストに取り組んでいますが、後で実装したいもののアイデアが浮かんだら、すぐに空のテストを作成します。テスト メソッドの名前は、実装したいものを一種の todo リストとして示します。忘れないように、本体に Assert.Fail() を入れました。
xUnit.Net を試してみると、Assert.Fail が実装されていないことがわかりました。もちろん、いつでも Assert.IsTrue(false) を実行できますが、これも私の意図を伝えません。Assert.Fail は意図的に実装されていない印象を受けました。これは悪い習慣と見なされますか? もしそうなら、なぜですか?
@Martin Meredithそれはまさに私がしていることではありません。最初にテストを書いてから、それを機能させるコードを実装します。通常、一度にいくつかのテストを考えます。または、何か他の作業をしているときに書くテストについて考えます。そのとき、覚えておくために空の失敗したテストを書きます。テストを書き始める頃には、きちんとテストファーストで作業しています。
@Jimmehそれは良い考えのようです。無視されたテストは失敗しませんが、別のリストに表示されます。それを試してみる必要があります。
@Matt Howells 素晴らしいアイデア。この場合、NotImplementedException は assert.Fail() よりも意図をよく伝えます
@Mitch Wheatそれが私が探していたものです。別の方法で悪用されるのを防ぐために除外されたようです。
.net - System.BadImageFormatException のトラブルシューティングに役立ちます:
ローカル Web サービスに接続している .NET 3.5 SP1 プロジェクトをデバッグしているときに、例外が発生します。
System.BadImageFormatException: "クラス トークンが正しくありません"
もちろん、例外の原因についての詳細はあまりありません。
これが発生するメソッドは、呼び出し元と同じクラスにあり、デバッガーは到達できません。この例外は、Web サービスに接続するメソッドの呼び出しで発生します。Web サービスと通信する方法は他にもあるので、参考にしてください。
メソッドの単体テストも同じ例外で失敗しています。
訂正:メソッドの単体テストは成功しており、混乱を助長しています。
この例外を追跡する方法を知っている人はいますか? 例外クラスに関するドキュメントを読みましたが、アセンブリの 1 つがそのバージョンで正しくないか、ビルドに問題があると思われます。
この例外のトラブルシューティングで他にどのような手順をお勧めしますか?
unit-testing - NUnit 対 MbUnit 対 MSTest 対 xUnit.net
.NET 用の単体テスト フレームワークは数多くあります。この小さな機能比較を見つけました: http://xunit.github.io/docs/comparisons.html
今、私は私たちに最適なものを選択しています。しかし、どのように?それは問題ですか?どれが最も将来性があり、その背後にまともな勢いがありますか? 機能を気にする必要がありますか?xUnit は最も新しく、特に .NET 向けに設計されているように見えますが、NUnit は広く受け入れられているようです。MSTest は再び Visual Studio に統合されています ...
.net - マルチコア マシンを利用するためにマルチスレッドで実行できる .NET テスト用のテスト ランナーはありますか?
現在、Thoughtworks Studios の Cruise、Gallio を使用して xunit.net のファクト/テストを実行し、ncover 2 を使用してコード カバレッジを実行して CI をセットアップしています。
コード カバレッジを実行すると、ビルド エージェント サーバーが持つ 4 つの CPU の 1 つがペグされることに気付き、代わりに使用できるマルチスレッド テスト ランナーがあるかどうか疑問に思いました。遊んでいましたか?簡単に検索しましたが、ほとんどのヒットは、マルチスレッド テストの実行ではなく、マルチスレッド コードのテストに関するものです...
c# - ランダムな結果を返す関数を使用した単体テスト
これは言語やフレームワークに固有のものではないと思いますが、xUnit.net と C# を使用しています。
特定の範囲でランダムな日付を返す関数があります。日付を渡すと、返される日付は常に、指定された日付の 1 ~ 40 年前の範囲になります。
今、これを単体テストする良い方法があるかどうか疑問に思っています。最良のアプローチは、ループを作成して関数を 100 回実行し、これらの 100 個の結果のすべてが目的の範囲内にあると主張することです。これが私の現在のアプローチです。
また、ランダム ジェネレーターを制御できない限り、完全な解決策はないことも認識しています (結局、結果はランダムです)。一定の範囲?
xunit.net - TestDriven.net で XUnit.net テストを実行する
私は何年もの間 NUnit を使用してきましたが、XUnit を試してみたかったのです。そこで、XUnit をインストールし、TD.net 経由で XUnit を実行できるようにする実行可能ファイルを実行しました。
一度に複数のテストを実行できないようです。NUnit + TD.net を使用すると、ソリューション内のファイル名をクリックして、ファイル内のすべてのテストを実行できました。XUnit + TD.netではそれができないようです。
これは私にできることですか?
nant - TeamCity でコンソール アプリケーションの単体テストを自動化するにはどうすればよいですか?
多数の単体テストを含むコンソール アプリケーションを作成しました。これを nant ビルド スクリプトに含めて、TeamCity CIS で実行できるようにしたいと考えています。
残念ながら、それを行う方法がよくわかりません。nant スクリプトには、追加された現在のプロジェクトの例があります...それらはすべて、テストする必要があるアセンブリを提供する必要があります。ie MyProject.dll しかし、私のコンソール アプリは MyProject.exe にコンパイルされるため、そのようなものはありません。
問題なく Visual Studio 内から単体テストを実行できるため、これらのテストを自動化する方法が必要です。
これが可能かどうか、またその方法を知っている人はいますか?
c# - クラスを処理し、テスト メソッドを検索するときにカスタム コードを使用するように xUnit.NET を拡張します。
私は xUnit.NET フレームワークの大ファンです。軽く、シンプルで、クリーンで、拡張可能だと思います。
今、私は次のようなクラスを持っているとしましょう:
上記のテスト クラスを使用して、xUnit.NET に 2 つのテスト ケースを表示させ、各テスト ケースの前に Because() メソッドを実行させたいと考えています。
私のクラスまたはメソッド名、このテスト/仕様の構造、xUnit.NET フレームワーク、または BDD に関する問題はさておき、ここに私の質問があります。
各ターゲット テスト メソッドで [Fact] のようなカスタム属性を使用せずに、このクラスからテスト メソッドを識別して実行する方法をカスタマイズしたいことを xUnit.NET に伝えるにはどうすればよいですか?
実行前と実行後に各テスト メソッドをカスタムで装飾するために、BeforeAfterAttribute から派生できることがわかっています。クラスレベルでこれを行うにはどうすればよいですか? カスタム ランナーを作成する必要がありますか?
tfs - Team BuildにxUnit.netテストスイートのテスト結果とカバレッジを表示するにはどうすればよいですか?
チームビルドでxUnit.netのテスト結果とコードカバレッジをビルドレポートに表示することに成功した人はいますか?MSBuildランナーはテストを正常に実行しており、結果はログファイルにありますが、ビルドレポートのテスト結果とコードカバレッジ結果の領域には、それぞれ「テスト結果なし」と「カバレッジ結果なし」と表示されます。Team Buildは、xUnit.netランナーによってエクスポートされるテスト結果の特定の場所/形式を探していますか?
unit-testing - CC.Net で Watin テストが失敗する
Windows Server 2003 の CC.Net で xUnit を使用して Watin テストを実行しています。
TestDriven.Net を使用した開発ボックスと xUnit GUI アプリを使用したサーバーですべて正常に動作する多くのテストがあります。ただし、CC.Net が (MSBuild タスクの一部として) テストを実行すると、関数
期待値を返すことはありません。Button(...).Click()、TextBox(...).Value など、IE オブジェクトの他の関数とプロパティは正常に動作するようです。
サービス アカウントには「デスクトップとの対話をサービスに許可する」が必要であることを認識しています。
ローカル システムおよびローカル管理者の下で、この実行中の CC サービスを試しました。管理者アカウントがハングするだけで、テストの実行が終了したようには見えません (ただし、ieexplorer.exe プロセスのインスタンスは作成されます)。
これはサーバーでのアクセス許可の問題ですか、それとも構成から何かを除外しましたか?