問題タブ [testcontext]
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.
c# - 現在実行中の単体テストから情報を取得する
ヘルパー クラスの静的メソッドから、現在実行中の UnitTest に関する情報を見つける必要があります。アイデアは、各テストから一意のキーを取得しています。
を使用することを考えTestContext
ましたが、可能かどうかはわかりません。
例
現在、このキーを を使用してスレッドに保存していますがThread.SetData
、テストされたコードが複数のスレッドを生成すると問題になります。スレッドごとに、特定の単体テスト用に同じキーを取得する必要があります。
Foo.GetSomething()
ユニットテスト自体からは呼び出されません。それを呼び出すコードは、Unity によって挿入されたモックです。
編集
ややこしいと思われるので、文脈を少し説明します。
Unity によって作成されたオブジェクトは、エンティティ フレームワークのコンテキストです。単体テストを実行すると、コンテキストは によって作成された構造体でデータを取得しますFoo.GetSomething
。と呼びましょうDataPersistance
。
DataPersistance
単体テストは互いに影響を与えるため、シングルトンにすることはできません。
現在、スレッドごとに 1 つのインスタンスがありますがDataPersistance
、テストされたコードがシングル スレッドである限りは問題ありません。
DataPersistance
単体テストごとに 1つのインスタンスが必要です。テストごとに一意の GUID を取得できれば、このテストのインスタンスを解決できます。
nunit - NUnit で現在のテスト メソッドにアクセスするにはどうすればよいですか
TestContext.CurrentContext.Test
NUnit 内の現在のテスト メソッドを取得するために解析できる FullName のようないくつかのプロパティがあります。ただし、TestCase 属性の TestName プロパティを使用してテストの名前をオーバーライドする場合、これらはまったく役に立ちません。
NUnit テスト内から現在のテスト メソッドの MethodInfo を取得する簡単な方法はありますか? テスト メソッドがスタック上にない場合、SetUp と TearDown でこの情報が必要になるため、単純にスタック トレースを使用することはできません。
NUnit 2.6.2 を使用しています
c# - TestContext から IDataReader にデータを読み込む
これは奇妙に聞こえるかもしれませんが、まさにこれが私がやりたいことです: Currency クラスの ReadItem() メソッドをテストする TestMehod Currency_ReadItem_Test() があります。この ReadItem() は、IDataReader オブジェクトをパラメーターとして取り、クラス内のローカル データ メンバーを埋めます。
今問題は、Excel シート DataSource を持つ TestMethod でこの ReadItem() をテストしたいということです。Reader を Excel シートから最初に入力して、この関数に渡してテストする方法はありますか?
どんな助けでも大歓迎です。
ありがとう
c# - MSTest の TestContext について
MSTest を使用して、[TestInitialize]
メソッド内から現在のテストの名前を取得する必要がありました。これはプロパティから取得できTestContext.TestName
ます。
TestContext
メソッドに渡された static と[ClassInitialize]
、パブリック プロパティとして宣言された (そしてテスト ランナーによって設定された) static の動作に予期しない違いがあることがわかりました。
次のコードを検討してください。
これにより、以下が出力されます (VS2013 の Resharper テスト ランナー出力からコピーして貼り付けます)。
以前は の 2 つのインスタンスTestContext
が同等であると想定していましたが、明らかにそうではありません。
public TestContext
プロパティは期待どおりに動作します- メソッドに渡される
private static TestContext
値は渡され[ClassInitialize]
ません。現在実行中のテストに関連するプロパティがあるためTestContext
、この実装は誤解を招き、壊れているようです
TestContext
メソッドに渡されたものを実際に使用することを好むシナリオはありますか[ClassInitialize]
、それとも無視して使用しないのが最善ですか?
c# - 単体テスト TestContext 複数の呼び出し
2 つのサブ テスト メソッドを呼び出すテスト メソッドがあります。サブ メソッドは両方とも、XML ファイルからのデータ ドリブンです。各サブメソッドを実行すると、正常に実行され、成功します。ただし、メイン テスト メソッド (両方のサブ メソッドの呼び出し元) を実行すると、TestContext.DataConnection と TestContext.DataRow が null として検出されます。
すべて実行すると、2 つのメソッドが成功し、1 つのメソッドが失敗します。個別に実行すると、SaveData_Json_LocalStorage が渡されず、常に TestContext.DataRow が null として取得されます。内部で複数のメソッドを呼び出しても問題ありませんか。連鎖テストケースを書く最良の方法は何ですか。
c# - コード化された ui テストを WPF アプリケーションから実行する (mstest を使用しない)
コード化された UI テスト ケースを WPF アプリケーションから実行したいと考えています。ただし、再生を初期化してテスト メソッドを呼び出すと、TestContext が NULL であるというエラーが発生します。WPFアプリケーションを介したコード化されたUIテストの実行が可能かどうかを誰かが提案できますか? また、テストケースはデータ駆動型であり、TestContext にアクセスする必要があるため、このアプローチで TestContext にアクセスするにはどうすればよいですか。
ありがとう。
mstest - mstest のリモート テスト エージェントからテスト結果出力ファイルの添付ファイルを取得する方法
私の MSTest は最後にアーティファクトを作成し、それを を使用してテスト出力に添付しましたTestContext.AddResultFile
。
ローカル マシンでテストを実行すると、テスト出力で添付ファイルを使用できますが、リモート テスト エージェントでテストを実行すると、出力に添付ファイルがありません。
ファイルの「データと診断」セクションのすべてのオプションを確認しました.testsettings
が、何も機能しませんでした。
リモート テスト エージェントからテスト結果の添付ファイルを取得するにはどうすればよいですか?
java - @ContextConfiguration はトランザクション プロキシを作成しません
ある種の統合テスト環境を作成しようとしていますが、Test Context Framework が Bean のトランザクション プロキシを作成しないときに問題が発生しました。私のコード:
JUnit クラス: FileServiceImplTest
テスト コンテキスト フレームは、トランザクション プロキシではなく、FileService Bean 自体をファイルした 'fileService' に挿入します。例外の理由:
Tomcat でこのコードを実行すると、すべて正常に動作しますが、テストの実行中にのみ問題が発生します。これを修正するのを手伝ってください。
私のコードの残りの部分: FileServiceImpl
ファイルDAOImpl.java
applicationContext.xml
applicationContext-db.xml
hibernate.properties
pom.xml