在固定装置内杀死FitNesse

本文关键字:FitNesse 装置 | 更新日期: 2023-09-27 18:02:20

我使用FitNesse对c#编写的fixture进行一些测试。我的一个fixture启动了一些测试套件,以便在Unix环境中的Ab Initio中运行。如果其中一个测试失败,我希望能够终止整个测试套件。我想我需要从测试套件(在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 . isetlsuccess()的值,如果它是假的,它将终止FitNesse。我有两个问题:

这个推理正确吗?

终止/终止FitNesse(或结束测试套件,如果有更优雅的方式)需要什么代码?

编辑:我做了更多的研究,看起来我必须杀死的是"跑步者"。

在固定装置内杀死FitNesse

如果您使用Slim,您可以在类名中抛出一个带有"StopTest"的异常来停止测试。

http://www.fitnesse.org/FitNesse.UserGuide.WritingAcceptanceTests.SliM.ExceptionHandling

如果你正在使用Fit,你可以抛出一个abandonstorytestexception来停止测试。

http://fitsharp.github.io/Fit/AbandonStoryTest.html

下一个版本中有一个新的Fit特性(现在任何一天!)抛出AbandonTestSuiteException来停止整个测试套件。Slim没有类似的功能