Я пытаюсь получить свои тестовые случаи nunit, читая текстовый файл, который содержит TestCase на строку. В этом случае я использую атрибут TestCaseSourceAttribute.
[Test, TestCaseSource("TestSelection")]
//TestMethod
public static object[] TestSelection()
{
var amountOfTestCases = GetAmountTestCases(@"path\TestCases.txt");
var result = new object[amountOfTestCases];
for (var i = 0; i < amountOfTestCases; i++)
{
result[i] = new object[] { GetTestCase(i, @"path\TestCases.txt") };
}
return result;
}
При GetAmountTestCases()
я получаю строки текста в текстовом файле, а GetTestCase()
читает указанную строку текста c, чтобы получить мой TestCase.
public static int GetAmountTestCases(String path)
{
var lineCount = 0;
using (var reader = File.OpenText(path))
{
while (reader.ReadLine() != null)
{
lineCount++;
}
}
return lineCount;
}
public static String GetTestCase(int lineNum, String path)
{
var lineCount = 0;
String testCase = String.Empty;
using (var reader = File.OpenText(path))
{
while (reader.ReadLine() != null)
{
if (lineCount == lineNum)
{
testCase = reader.ReadLine();
}
else
{
lineCount++;
}
}
}
return testCase;
}
После сборки .dll содержит тестовые модули с нулевым содержимым в качестве содержимого. Я даже не могу отладить без указания c TestCase в моем коде.