いくつか作成しましたLoad Tests
。私の負荷テストはすべて、1 つの単体テストで構成されています。も作成し、LoadTest Plug-in
すべての負荷テストに割り当てました。各単体テストでは、LoadTest プラグイン (詳細はこちら) で作成したいくつかのカスタム パフォーマンス カウンターを次のコードで更新します。
プラグイン コード:
private void m_loadTest_LoadTestStarting(object sender, System.EventArgs e)
{
CounterCreationDataCollection counters = new CounterCreationDataCollection();
counters.Add(new CounterCreationData("CustomCoumter", "Custom Coumter description", PerformanceCounterType.AverageCount64));
PerformanceCounterCategory.Create("CustomCounterCategory", "Custom Performance Counters", PerformanceCounterCategoryType.MultiInstance, counters);
}
ユニットテスト コード:
[TestClass]
public class UnitTest1
{
PerformanceCounter customCounter;
[ClassInitialize]
public static void ClassInitialize(TestContext TestContext)
{
// Create the instances of the counters for the current test
customCounter= new PerformanceCounter("CustomCounterCategory", "CustomCoumter", "UnitTest1", false));
}
[TestMethod]
public void TestMethod1()
{
// ... Testing
customCounter.Incerement(time);
}
}
プラグインはTest Controller
カスタム カウンター カテゴリで実行されているため、コントローラーが実行されている PC で作成されます。今、負荷テストをTest Rig
using manyで実行していTest Agents
ます。テスト コントローラーが実行されているこれ以外の PC で単体テストが実行されている場合、カウンターは更新されません。私のコードでは、コントローラーのPCではなく、テストが実行されているPCのカウンターを更新しているため、これが発生すると思います。
コントローラーの PC でカスタム カウンターを更新するにはどうすればよいですか? 単体テストでカウンターのインスタンスを別の方法で作成する必要がありますか?