Я конвертирую следующий код из MSTest V2 в NUnit 3. Можете ли вы помочь мне найти альтернативы CurrentTestOutcome и UnitTestOutcome в NUnit?

var status = MyTestContext.CurrentTestOutcome;

switch (status)
{
    case UnitTestOutcome.Failed:
        TheLogger.Error($"Test Failed => {MyTestContext.FullyQualifiedTestClassName}");
        CurrentTestCase.AddScreenCaptureFromPath(screenshotPath);
        CurrentTestCase.Fail("Fail");
        break;
    case UnitTestOutcome.Inconclusive:
        CurrentTestCase.AddScreenCaptureFromPath(screenshotPath);
        CurrentTestCase.Warning("Inconclusive");
        break;
    case UnitTestOutcome.Unknown:
        CurrentTestCase.Skip("Test skipped");
        break;
    default:
        CurrentTestCase.Pass("Pass");
        break;
}

Я переключаюсь в зависимости от результата текущего теста. Я обнаружил, что MyTestContext.Result.Outcome является альтернативой MyTestContext.CurrentTestOutcome в NUnit, но что будет альтернативой для UnitTestOutcome.Inconclusive и т. Д. В NUnit? Благодарность

1
melleck 8 Ноя 2018 в 14:21

1 ответ

Лучший ответ

У вас есть TestStatus в TestContext

var status = TestContext.CurrentContext.Result.Outcome.Status;

switch (status)
{
    case TestStatus.Inconclusive:
        break;
    case TestStatus.Skipped:
        break;
    case TestStatus.Passed:
        break;
    case TestStatus.Failed:
        break;
    case TestStatus.Warning:
        break;
}
2
Guy 8 Ноя 2018 в 13:39