コード例 #1
0
    static Xunit1TestCase Create(
        Type typeUnderTest,
        string methodName,
        string?displayName = null,
        Dictionary <string, IReadOnlyList <string> >?traits = null,
        string?skipReason = null)
    {
        var typeName = typeUnderTest.FullName !;

        var result = new Xunit1TestCase
        {
            AssemblyUniqueID       = $"asm-id",
            SkipReason             = skipReason,
            TestCaseDisplayName    = displayName ?? "display-name",
            TestCaseUniqueID       = $"case-id: {typeName}:{methodName}",
            TestClass              = typeName,
            TestClassUniqueID      = $"class-id: {typeName}",
            TestCollectionUniqueID = $"collection-id",
            TestMethod             = methodName,
            TestMethodUniqueID     = $"method-id: {typeName}:{methodName}",
        };

        if (traits != null)
        {
            result.Traits = traits;
        }

        return(result);
    }
コード例 #2
0
    public static void WithTestNode_ParsesNumberWithInvariantCulture()
    {
        var sink     = Substitute.For <IMessageSink>();
        var testCase = new Xunit1TestCase("assembly", "config", "foo", "bar", "foo.bar");
        var handler  = new TestClassCallbackHandler(new [] { testCase }, sink);
        var xml      = new XmlDocument();

        xml.LoadXml("<test type='foo' method='bar' name='foo.bar' time='1.234' result='Pass' />");

        handler.OnXmlNode(xml.FirstChild);

        var args    = sink.Captured(1, x => x.OnMessage(null));
        var message = args.Arg <ITestFinished>();

        Assert.Equal(1.234M, message.ExecutionTime);
    }
コード例 #3
0
    public static void WithTestNode_OutputResultsInOutputMessage()
    {
        var sink     = Substitute.For <IMessageSink>();
        var testCase = new Xunit1TestCase("assembly", "config", "foo", "bar", "foo.bar");
        var handler  = new TestClassCallbackHandler(new[] { testCase }, sink);
        var xml      = new XmlDocument();

        xml.LoadXml("<test type='foo' method='bar' name='foo.bar' time='1.234' result='Pass'><output>This is output text</output></test>");

        handler.OnXmlNode(xml.FirstChild);

        var args    = sink.Captured(0, x => x.OnMessage(null));
        var message = args.Arg <ITestOutput>();

        Assert.Same(testCase, message.TestCase);
        Assert.Equal("This is output text", message.Output);
    }