Я использую FitNesse для тестирования с использованием Fixture, написанного на C #. Одно из моих приспособлений запускает несколько наборов тестов для запуска в Ab Initio в среде Unix. Я хотел бы иметь возможность убить весь набор тестов, если один из тестов в нем не сработает. Я предполагаю, что мне понадобится какое-то возвращаемое значение из набора тестов (в окне unix), а затем оно будет передано обратно в мое приспособление, которое убьет FitNesse (из моего приспособления C #). Вот как сейчас выглядит мой метод KickOff ():
public string KickOff()
{
var data = new Dictionary<string, string>();
foreach (var row in System.IO.File.ReadAllLines(unixConfigFile))
data.Add(row.Split('=')[0], String.Join("=", row.Split('=').Skip(1).ToArray()));
string server = data["servername"];
string userId = data["username"];
string password = data["password"];
StringEncryptor3DES encryptor = new StringEncryptor3DES("fitnesse");
password = encryptor.Decrypt(password);
UnixScriptRunner runner = new UnixScriptRunner(server, userId, password, unixPath, scriptName,EtlType.AbInitio);
return runner.Run() & EtlStatus.IsEtlSuccessful(runner.LogFile,EtlType.AbInitio) ? "True":"False";
}
Я думаю, мне нужно что-то, что улавливает значение EtlStatus.IsEtlSuccessful (), если оно ложно, оно завершит FitNesse. У меня есть два вопроса:
Правильно ли это рассуждение?
Какой код нужен для завершения / уничтожения FitNesse (или завершения набора тестов, если есть более изящный способ)?
Изменить: я провел еще немного исследований, и похоже, что это «бегун», которого я должен убить. Все еще не знаю, как это сделать ...