Not able to add message while skipping a test case with Assert.Ignore

120 views Asked by At

I am trying to add a message when I try to skip a test case my condition statement. I am able to skip without adding a message. But I would like to add a message for the reason to skip it. But Nunit never displays the message.

if (...)
{
  Assert.Ignore("Data not found.");
}

What should be the solution to add the message while skipping my test case?

1

There are 1 answers

1
Shannon McRae On BEST ANSWER

There are a lot of ways to alter the results of the test, here are some of many. And ways you can view different test result statuses

            TestExecutionContext.CurrentContext.CurrentTest.MakeInvalid("I want this test to be SKIPPED");
                    ResultState resultStateObject = new ResultState(TestStatus.Skipped);
                    TestExecutionContext.CurrentContext.CurrentResult.SetResult(resultStateObject, "this test is being skipped derp derp");
                    TestExecutionContext.CurrentContext.CurrentTest.RunState = RunState.Ignored;
                    Logger.log("After doing things");
                    resultstate = TestExecutionContext.CurrentContext.CurrentResult.ResultState.ToString();
                    Logger.log("%%%%%%%%%%%%%%%%%% Result State: " + resultstate);
                    resultstatestatus = TestExecutionContext.CurrentContext.CurrentResult.ResultState.Status.ToString();
                    Logger.log("%%%%%%%%%%%%%%%%%% Result State Status: " + resultstate);
                    runstate = TestExecutionContext.CurrentContext.CurrentTest.RunState.ToString();
                    Logger.log("%%%%%%%%%%%%%%%%%% Run State: " + runstate); //test="@runstate = 'Skipped' or @runstate = 'Ignored' or @runstate='Inconclusive'
                    status = TestContext.CurrentContext.Result.Outcome.Status.ToString();
                    Logger.log("%%%%%%%%%%%%%%%%%% Result Status: " + status);
                    message = TestExecutionContext.CurrentContext.CurrentResult.Message.ToString();
                    Logger.log("%%%%%%%%%%%%%%%%%% Message: " + message);