我正在使用 FitNesse 对用 C# 编写的 Fixtures 进行一些测试。我的一个装置启动了一些测试套件,以便在 Unix 环境中的 Ab Initio 中运行。如果其中一个测试失败,我希望能够杀死整个测试套件。我想我需要来自测试套件(在 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 所需的代码是什么(或者如果有更优雅的方式,则结束测试套件)?
编辑:我做了更多的研究,看起来它是我必须杀死的“跑步者”。仍然不确定如何做到这一点......