XFE各类拓展.NetCore.XUnit 1.1.5

Suggested Alternatives

XFEExtension.NetCore.XUnit

Additional Details

由于命名空间等诸多中文问题,现将项目正式更名为XFEExtension.NetCore.XUnit
有关兼容问题,仅需将所有的'XFE各类拓展'均替换为'XFEExtension'即可完美兼容

dotnet add package XFE各类拓展.NetCore.XUnit --version 1.1.5
NuGet\Install-Package XFE各类拓展.NetCore.XUnit -Version 1.1.5
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="XFE各类拓展.NetCore.XUnit" Version="1.1.5" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add XFE各类拓展.NetCore.XUnit --version 1.1.5
#r "nuget: XFE各类拓展.NetCore.XUnit, 1.1.5"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install XFE各类拓展.NetCore.XUnit as a Cake Addin
#addin nuget:?package=XFE各类拓展.NetCore.XUnit&version=1.1.5

// Install XFE各类拓展.NetCore.XUnit as a Cake Tool
#tool nuget:?package=XFE各类拓展.NetCore.XUnit&version=1.1.5

XFE各类拓展.NetCore.XUnit

描述

XUnit测试框架,使得用户不需要编写Main函数,只需要在需要测试的类或者方法上面加上相对于的特性即可。

示例

快速编写无参测试用例(CTest和MTest)

[CTest]
//[CTest]
//可添加多个测试用例
public class TestClass
{
    [MTest]
    //[MTest]
    //[MTest]
    //可添加多个测试用例
    public void TestMethod()
    {
        Console.WriteLine("Hello World!");
    }
}

带参数的测试用例

[CTest]
public class TestClass
{
    [MTest(1, 2)]
    [MTest(2, 3)]
    [MTest(3, 4)]
    public void TestMethod(int a, int b)
    {
        Console.WriteLine(a + b);
    }
}

使用断言(通过继承类)

[CTest]
public class TestClass : XFECode
{
    [MTest(1, 2)]
    [MTest(2, 3)]
    public void TestMethod(int a, int b)
    {
        Assert(a + b == 3, "不等于3");
    }
}

使用断言(不继承)

[CTest]
public class TestClass
{
    [MTest(1, 2)]
    [MTest(2, 3)]
    public void TestMethod(int a, int b)
    {
        XFECode.Assert(a + b == 3, "不等于3");
    }
}

判断返回值是否相等(MRTest)

[CTest]
public class TestClass
{
    [MRTest(1, 2, 3)]
    [MRTest(2, 3, 5)]
    [MRTest(3, 4, 7)]
    public int TestMethod(int a, int b)
    {
        return a + b;
    }
}

为测试用例添加描述(CNTest和MNTest)

[CTest("这是一个测试类")]
public class TestClass
{
    [MNTest("这是一个测试方法")]
    public void TestMethod()
    {
        Console.WriteLine("Hello World!");
    }
}

同时添加描述和结果对比(MNRTest)

[CTest("这是一个测试类")]
public class TestClass
{
    [MNRTest("这是一个测试方法", 1, 2, 3)]
    public int TestMethod(int a, int b)
    {
        return a + b;
    }
}

设置测试类的初始化方法(SetUp)

[CTest]
public class TestClass
{
    string initWord;
    [SetUp]
    public void SetUp()
    {
        initWord = "Hello World!";
    }

    [MTest]
    public void TestMethod()
    {
        Console.WriteLine(initWord);
    }
}

直接测试静态方法(SMTest)

public class TestClass
{
    [SMTest]
    public static void TestMethod()
    {
        Console.WriteLine("Hello World!");
    }
}
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.1.5 100 3/7/2024
1.1.4 69 3/7/2024
1.1.3 82 3/7/2024
1.1.2 66 3/5/2024
1.1.1 80 2/13/2024
1.1.0 84 2/12/2024
1.0.5 85 2/11/2024
1.0.4 78 2/10/2024
1.0.3 78 2/10/2024
1.0.2 78 2/10/2024

现在可以完美进行代码诊断并提供代码修补操作