从exercisem C#运行测试文件

本文关键字:文件 运行测试 exercisem | 更新日期: 2023-09-27 18:26:03

我在运行测试文件时遇到问题。我看不出我需要做什么不同的事情。这是C#的第一个练习项目。我想我已经解决了这个问题,但我无法在Microsoft Visual Studio中成功运行测试文件。目标是生成一个函数来测试年份是否为闰年。

我想在下面的文件中使用Year类,在我的项目中,它的标题是Class1.cs

带有学年的文件:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Exercism
{
    public class Year
    {   public bool IsLeap(int year)
        {
            if (year % 4 == 0)
                if (year % 100 == 0)
                    if (year % 400 == 0)
                        return true;
                    else
                        return false;
                else
                    return true;
            else
                return false;
        }
    }
}

测试文件如下。当我尝试运行它时,我会收到下面每个测试函数的消息"名称'Year'不存在于当前上下文中"。

using NUnit.Framework;
using Exercism;


[TestFixture]
public class LeapTest
{
    [Test]
    public void Valid_leap_year()
    {
        Assert.That(Year.IsLeap(1996), Is.True);
    }
    [Ignore]
    [Test]
    public void Invalid_leap_year()
    {
        Assert.That(Year.IsLeap(1997), Is.False);
    }
    [Ignore]
    [Test]
    public void Turn_of_the_20th_century_is_not_a_leap_year()
    {
        Assert.That(Year.IsLeap(1900), Is.False);
    }
    [Ignore]
    [Test]
    public void Turn_of_the_25th_century_is_a_leap_year()
    {
        Assert.That(Year.IsLeap(2400), Is.True);
    }
}

我知道这是一个基本问题,但任何帮助都将不胜感激

从exercisem C#运行测试文件

IsLeap当作静态方法使用,但将其声明为实例方法。

您可以使用new Year().IsLeap(..),也可以将IsLeap设置为public static bool IsLeap(...)。我敢肯定你想要后者。

理解两者之间的区别是非常重要的,我建议你多读一下这个主题。

publicstaticbool IsLeap(int year)