Пример #1
0
        private testcaseType RunTest(TestMethod t)
        {
            TestFilter filter = new NameFilter(t.TestName);
            var        result = (t as TestMethod).Run(new TestListener(), filter);

            //result types
            //Ignored, Failure, NotRunnable, Error, Success
            var testCase = new testcaseType
            {
                name     = t.TestName.Name,
                executed = result.Executed.ToString(),
                success  = result.IsSuccess.ToString(),
                asserts  = result.AssertCount.ToString(CultureInfo.InvariantCulture),
                time     = result.Time.ToString(CultureInfo.InvariantCulture)
            };

            switch (result.ResultState)
            {
            case ResultState.Cancelled:
                testCase.result = "Cancelled";
                break;

            case ResultState.Error:
                testCase.result = "Error";
                break;

            case ResultState.Failure:
                var fail = new failureType {
                    message = result.Message, stacktrace = result.StackTrace
                };
                testCase.Item   = fail;
                testCase.result = "Failure";
                break;

            case ResultState.Ignored:
                testCase.result = "Ignored";
                break;

            case ResultState.Inconclusive:
                testCase.result = "Inconclusive";
                break;

            case ResultState.NotRunnable:
                testCase.result = "NotRunnable";
                break;

            case ResultState.Skipped:
                testCase.result = "Skipped";
                break;

            case ResultState.Success:
                testCase.result = "Success";
                break;
            }

            return(testCase);
        }
Пример #2
0
        private TestCaseResult ParseTest(testcaseType test)
        {
            var result = new TestCaseResult();

            string fullName = test.name;
            result.TestCaseName = test.name.Substring(fullName.LastIndexOf('.') + 1);
            result.ModuleName = test.name.Substring(0, fullName.LastIndexOf('.'));

            if (bool.Parse(test.executed) == true)
            {
                if (string.IsNullOrEmpty(test.time) == false)
                {
                    string[] time = test.time.Split('.');
                    result.Duration = new TimeSpan(0, 0, 0, int.Parse(time[0]), int.Parse(time[1]));
                }
            }

            result.Result = ConvertNUnitResultStatus(test.result);

            if (test.Item is reasonType)
            {
                var reason = test.Item as reasonType;
                result.Message = reason.message;
            }

            if (test.Item is failureType)
            {
                var failure = test.Item as failureType;
                result.Message = failure.message;
                result.StackTrace = failure.stacktrace;
            }

            return result;
        }
        private testcaseType RunTest(TestMethod t, MethodInfo[] setupMethods = null)
        {
            //Send information about the test case to be run to the server
            RTFClientStartCmd.SendTestInformation(t.TestName.Name, fixtureName);

            TestFilter filter = new NameFilter(t.TestName);

            var result = t.Run(new TestListener(), filter);

            //result types
            //Ignored, Failure, NotRunnable, Error, Success
            var testCase = new testcaseType
            {
                name     = t.TestName.Name,
                executed = result.Executed.ToString(),
                success  = result.IsSuccess.ToString(),
                asserts  = result.AssertCount.ToString(CultureInfo.InvariantCulture),
                time     = result.Time.ToString(CultureInfo.InvariantCulture)
            };

            switch (result.ResultState)
            {
            case ResultState.Cancelled:
                testCase.result = "Cancelled";
                break;

            case ResultState.Error:
                var f = new failureType {
                    message = result.Message, stacktrace = result.StackTrace
                };
                testCase.Item   = f;
                testCase.result = "Error";
                break;

            case ResultState.Failure:
                var fail = new failureType {
                    message = result.Message, stacktrace = result.StackTrace
                };
                testCase.Item   = fail;
                testCase.result = "Failure";
                break;

            case ResultState.Ignored:
                testCase.result = "Ignored";
                break;

            case ResultState.Inconclusive:
                testCase.result = "Inconclusive";
                break;

            case ResultState.NotRunnable:
                testCase.result = "NotRunnable";
                break;

            case ResultState.Skipped:
                testCase.result = "Skipped";
                break;

            case ResultState.Success:
                testCase.result = "Success";
                break;
            }

            return(testCase);
        }