我无法运行测试文件。我看不出我需要做什么不同的事情。这是C#的第一个练习项目。我想我已经解决了问题,但我无法让Test文件在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;
}
}
}
测试文件如下。当我尝试运行它时,我得到以下每个测试函数的信息'当前上下文中不存在名称'年'。
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);
}
}
我知道这是一个基本问题,但任何帮助都会受到赞赏
答案 0 :(得分:2)
您正在使用IsLeap
,就好像它是一个静态方法,但将其声明为实例方法。
您可以使用new Year().IsLeap(..)
或将IsLeap设置为public static bool IsLeap(...)
。我很确定你想要后者。
了解两者之间的区别非常重要,我建议您阅读这个主题。
答案 1 :(得分:1)
公共静态 bool IsLeap(int year)