コード例 #1
0
        public void Handle(TestCaseResult message)
        {
            if (message == null) throw new ArgumentNullException("message");
            var name = message.FullMethodName();
            var durationMilliseconds = message.TimeToComplete.Milliseconds;

            switch (message.ResultType)
            {
                case ResultType.Ignored:
                    WrapTestWithStartAndEnd(CommandFactory.TestIgnored(message.MethodName, string.Empty), message.MethodName, 0);
                    break;
                case ResultType.Passed:

                    WrapTestWithStartAndEnd(() =>
                    {

                    }, name, durationMilliseconds);
                    break;
                case ResultType.Failed:
                    WrapTestWithStartAndEnd(() => _messageWriter.Write(
                        CommandFactory.TestFailed(
                            name,
                            message.ExceptionInfo.FullMessage,
                            message.ExceptionInfo.FullMessage)),
                        name,
                        durationMilliseconds);
                    break;
                case ResultType.SystemGeneratedFailure:
                    WrapTestWithStartAndEnd(() => _messageWriter.Write(
                        CommandFactory.TestFailed(
                            name,
                            "StatLight generated test failure",
                            message.OtherInfo)),
                        name,
                        durationMilliseconds);
                    break;

                default:
                    "Unknown TestCaseResult (to StatLight) - {0}".FormatWith(message.ResultType)
                        .WrapConsoleMessageWithColor(Settings.Default.ConsoleColorError, true);
                    break;
            }
        }
コード例 #2
0
        public void Handle(TestCaseResult message)
        {
            if (message == null) throw new ArgumentNullException("message");
            var name = message.FullMethodName();
            var durationMilliseconds = message.TimeToComplete.Milliseconds;

            switch (message.ResultType)
            {
                case ResultType.Ignored:
                    WrapTestWithStartAndEnd(CommandFactory.TestIgnored(message.MethodName, string.Empty), message.MethodName, 0);
                    break;
                case ResultType.Passed:

                    WrapTestWithStartAndEnd(() =>
                    {
                    }, name, durationMilliseconds);
                    break;
                case ResultType.Failed:

                    var sb = new StringBuilder();

                    sb.Append("Test Namespace:  ");
                    sb.AppendLine(message.NamespaceName);

                    sb.Append("Test Class:      ");
                    sb.AppendLine(message.ClassName);

                    sb.Append("Test Method:     ");
                    sb.AppendLine(message.MethodName);

                    if (!string.IsNullOrEmpty(message.OtherInfo))
                    {
                        sb.Append("Other Info:      ");
                        sb.AppendLine(message.OtherInfo);
                    }

                    foreach (var metaData in message.Metadata)
                    {
                        sb.Append("{0,-17}".FormatWith(metaData.Classification + ": "));
                        sb.Append(metaData.Name + " - ");
                        sb.AppendLine(metaData.Value);
                    }

                    sb.AppendLine(message.ExceptionInfo.FullMessage);

                    var msg = sb.ToString();

                    WrapTestWithStartAndEnd(() => _messageWriter.Write(
                        CommandFactory.TestFailed(
                            name,
                            message.ExceptionInfo.FullMessage,
                            msg)),
                        name,
                        durationMilliseconds);
                    break;
                case ResultType.SystemGeneratedFailure:
                    WrapTestWithStartAndEnd(() => _messageWriter.Write(
                        CommandFactory.TestFailed(
                            name,
                            "StatLight generated test failure",
                            message.OtherInfo)),
                        name,
                        durationMilliseconds);
                    break;

                default:
                    "Unknown TestCaseResult (to StatLight) - {0}".FormatWith(message.ResultType)
                        .WrapConsoleMessageWithColor(Settings.Default.ConsoleColorError, true);
                    break;
            }
        }