私の[AssemblyCleanup]
メソッドが呼び出されていないところに問題があります。AssemblyCleanup実行されていません。
私は現在、自動化フレームワークを構築しており、テストの前後にいくつかのAPI呼び出しを行いたいと考えています。私はアセンブリの初期化/クリーンアップメソッドを発見して以来、彼らは私がする必要があるために完璧に動作します。しかし、私は[AssemblyCleanup]
メソッドを実行することができません。
私のテストには固有の基本クラスがあり、それで[AssemblyCleanup]
メソッドを配置したいと思っています。
私のクラスです。
[TestClass]
public class TestBaseChrome: WebDriver
{
public TestContext TestContext { get; set; }
[TestInitialize]
public void Initialize()
{
//Do Stuff Here for tests
}
[TestCleanup]
public void Cleanup()
{
//used for end of test reporting
}
[AssemblyCleanup]
public static void EndOfSuiteActions()
{
//Stuff here when whole test suite finished
}
}
私は例hereとhereを見て[AssemblyCleanup]
は[TestClass]
属性でクラスであることが必要であることを示してきました。実際のテストでクラスに[AssemblyCleanup]
を配置すると、意図したとおりに動作します。しかし、私はすべての前のテスト/一度のテストの後にしたいです。
アドバイスをいただければ幸いです。
これは私の問題でした。自分のフレームワークとテストを自分のソリューションの別々のプロジェクトで行い、SetupTeardownクラスがフレームワークプロジェクトに存在していました。 SetupTeardownクラスをテストプロジェクトに移動すると、 '[AssemblyInitialize]'と '[AssemblyCleanup]'は魅力的な働きをしました。 – Keith