我知道通過在測試解決方案中的.testresults文件中指定parallelTestCount屬性,可以在多核機器上並行處理常規的ms-test單元測試(當然有警告)。與此類似,如何在Visual Studio 2010中並行化數據驅動的單元測試?
<Execution parallelTestCount="1">
<TestTypeSpecific />
<AgentRule name="Execution Agents"></AgentRule>
</Execution>
不過,我有一個數據驅動測試,這樣的事情,這只是一個測試,但輸入從CSV和進來運行1000s的記錄通過相同的測試。
[DeploymentItem("InputDataRows.csv"), Timeout(37800000), DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "|DataDirectory|\\InputDataRow.csv", "InputDataRow#csv", DataAccessMethod.Sequential)]
[TestMethod]
public void RunProcessing()
{
int userId = Convert.ToInt32(TestContext.DataRow[0].ToString());
int connId = Convert.ToInt32(TestContext.DataRow[1].ToString());
string xml = TestHelper.GetDataFromDb(userId, connId);
a = doStuffA(xml);
b = doStuffB(xml);
Assert.IsTrue(a == b);
}
因爲這是一個緩慢的過程,我正在尋找並行化這個單元測試的。
該屬性上的Sequential enum只是它訪問數據的方式,另一個選項是Random,它仍然是串行的而不是並行的。
你使用哪種語言? C#? – 2013-05-31 15:42:10
C#,是的,當然! – Vin 2013-08-19 02:30:19
你使用的是什麼版本的.Net?另外,你能否提供一些有關如何設置TestContext的細節? – 2017-01-03 20:21:48