毎回異なる値でテストを実行しようとしています。例: methodA
、methodB
、およびの 3 つのメソッドがありmethodC
ます。異なるインデックスの場所で各メソッドを 2 回実行したいと考えています。私はTestInitialize
とClassInitialize
方法を持っています。
使用して
ClassInitialize
みましたが、成功しませんでした。テスト コンテキストが静的ではないため、コンパイル時エラーが発生します。public TestContext TestContext { get { return testContextInstance; } set { testContextInstance = value; } } [DeploymentItem("UI.Framework.IntegrationTests\\ExpectedValues.xml")] [DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\ExpectedValues.xml", "searchTerm2", DataAccessMethod.Sequential)] [ClassInitialize()] publicstaticvoid ClassInitialize(TestContext context) { string indexPath = TestContext.DataRow[0].ToString(); bool isSuccess1 = SearchApiTestsHelper.InitializeSearchEngine(indexPath, null); Assert.IsTrue(isSuccess1); }
私はこれを行うことができませんでした。
使用してみ
TestInitialize
ましたが、データ行がロードされていませんでしたnull
。[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\ExpectedValues.xml", "indices", DataAccessMethod.Sequential), TestInitialize()] public void MyTestInitialize() { string indexPath = TestContext.DataRow[0].ToString(); bool isSuccess1 = SearchApiTestsHelper.InitializeSearchEngine(indexPath, null); Assert.IsTrue(isSuccess1); }
各メソッドを 2 回実行するように設定できることはわかっていますが、一部のメソッドでは検証に異なるデータが必要です。たとえば
method2
、インデックスの場所ごとに 2 回実行し、実行ごとにデータ ソースから期待される値のセットをアサートする必要があります。[DeploymentItem("UI.Framework.IntegrationTests\\ExpectedValues.xml")] [DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\ExpectedValues.xml", "pb1", DataAccessMethod.Sequential), TestCategory("Integration")] [TestMethod] public void PhraseBoosting() { expectedVal = TestContext.DataRow[0].ToString(); }
これはどのようにアーカイブできますか?