我正在用fitnesse用c_写的fixture做一些测试。我的一个装置启动了一些测试套件,以便在unix环境中从头开始运行。如果其中一个测试失败,我希望能够杀死整个测试套件。我想我需要测试套件(在unix机器上)的某种返回值,然后它会被传递回我的fixture,这会杀死fitnesse(在我的c fixture中)。这就是我的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()值的东西,如果它为false,它将终止fitnesse。我有两个问题:
这个推理正确吗?
终止/终止fitnesse(如果有更优雅的方法,则结束测试套件)所需的代码是什么?
编辑:我又做了一点调查,看起来我要杀的是那个“跑步者”。但还是不知道怎么做…

最佳答案

如果您使用的是slim,则可以在类名中抛出一个带有“stop test”的异常来停止测试。
http://www.fitnesse.org/FitNesse.UserGuide.WritingAcceptanceTests.SliM.ExceptionHandling
如果您使用的是fit,则可以抛出一个废弃的storytestexecption来停止测试。
http://fitsharp.github.io/Fit/AbandonStoryTest.html
在下一个版本中有一个新的fit特性(随时都有!)抛出放弃TestSuiteException以停止整个测试套件。斯利姆·阿法克没有可比的功能。

关于c# - 从装置中杀死FitNesse,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23549780/

10-09 20:49