.Net Core 单元测试中的问题

Posted

技术标签:

【中文标题】.Net Core 单元测试中的问题【英文标题】:Issue in .Net Core unit testing 【发布时间】:2021-11-23 21:14:58 【问题描述】:

我有一个包含 2 个类的控制台应用程序并用它创建单元测试项目

class Program

    
    static void Main(string[] args)
    
        Console.Write("Triangle Type Test :-\n----------------------------\n\n");
        Trigonometric.TrianlgeSidesInput(12, 12, 12);
        Console.ReadLine();

        Trigonometric.TrianlgeSidesInput(12, 12, 15);
        Console.ReadLine();

        Trigonometric.TrianlgeSidesInput(12, 20, 25);
        Console.ReadLine();
    


public static class Trigonometric

    public static double eqSide1, eqSide2, eqSide3;
    public static void TrianlgeSidesInput(double side1, double side2, double side3)
    
        string TriangleType = "";
        if ((side1 == side2) && (side1 == side3))
        
            TriangleType = "Equilateral";
        
        else if ((side1 == side2) || (side1 == side3) || (side2 == side3))
        
            TriangleType = "Isosceles";
            eqSide1 = side1; eqSide2 = side2; eqSide3 = side3;
        
        else
        
            TriangleType = "Scalene";
        

        switch (TriangleType)
        
            case "Equilateral":
                Console.WriteLine("It is Equilateral Traingle ! Reason: It's all sides are equal.\n\n\t i. e. 0==1==                                 2", side1, side2, side3);
                Console.WriteLine("For Next : Press Enter \n");

                break;

            case "Isosceles":
                Console.WriteLine("It is Isosceles Traingle ! Reason: It's two sides are equal.");
                Console.WriteLine("For Next : Press Enter \n");
                break;

            case "Scalene":
                Console.WriteLine("It is Scalene Traingle ! Reason: It's all sides have different lenght !!");
                Console.WriteLine("For Next : Press Enter \n");
                break;

            default:
                Console.WriteLine("Sorry ! Try Again !");
                break;
        

    

.csproject 中的包

Microsoft.NET.Test.Sdk
MSTest.TestAdapter
MSTest.TestFramework
coverlet.collector

它无法识别测试类和测试方法。测试项目已创建 dotnet new mstest 命令,并且模板中存在错误 请帮我解决这个问题

【问题讨论】:

“它无法识别测试类和测试方法”——“它”是谁? “模板中存在错误” - 错误是什么? 错误是什么? /Users/zahoorghani/Desktop/practice/unit-testing-using-mstest/PrimeService/PrimeService.csproj:错误 NU3037:包'Microsoft.NETFramework.ReferenceAssemblies.net20 1.0.0'来自源' api.nuget.org/v3/index.json':仓库会签有效期已过。它显示此错误 可以分享一下测试类代码吗? 【参考方案1】:

尝试更新软件包版本。最新版本似乎是 1.0.2。

https://www.nuget.org/packages/Microsoft.NETFramework.ReferenceAssemblies

【讨论】:

以上是关于.Net Core 单元测试中的问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Bamboo 中运行 .NET Core 单元测试?

有没有办法在.net core 中对 F# 项目进行单元测试?

C# - 单元测试 - 初始化私有字段 - ASP.NET Core 5 - NUnit 测试

如何对 ASP.NET Core 控制器或模型对象进行单元测试?

在 .net core 上的单元测试中使用和注入 appsettings.json

如何在 ASP.NET Core 中使用 ILogger 进行单元测试