我已经阅读了有关使用程序顶部的“使用”语句来引用程序命名空间的帖子,这里和这里和这里。我添加了适当的引用,公开了类,并引用了适当的命名空间。我相信我的设置是正确的......老实说,在这里问这样一个基本问题我觉得有点傻,但我很难过。我一定是遗漏了一些东西,因为它仍然无法正常工作,而且我无法弄清楚。
我正在尝试学习如何使用 Nunit 运行单元测试,同时将测试与主程序分开。这是我到目前为止的代码:
Program.cs 和 Account.cs 在第一个项目中(NUnitTestProgramWithSeparation)
程序.cs --
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace NUnitTestProgramWithSeparation
{
public class MyAccountingSoftware
{
public static void Main()
{
Account DemoAccount = new Account();
DemoAccount.Deposit(1000.00F);
DemoAccount.Withdraw(500.50F);
Console.WriteLine("Our account balance is {0}", DemoAccount.Balance);
}
}
}
帐户.cs --
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace NUnitTestProgramWithSeparation
{
public class Account
{
private float balance;
public void Deposit(float amount)
{
balance += amount;
}
public void Withdraw(float amount)
{
balance -= amount;
}
public void TransferFunds(Account destination, float amount)
{
}
public float Balance
{
get { return balance; }
}
}
}
然后,在名为 UnitTests 的第二个项目中,我有 UnitTests.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;
using NUnitTestProgramWithSeparation;
namespace UnitTests
{
[TestFixture]
public class UnitTests
{
[Test]
public void TransferFunds()
{
Account source = new Account();
source.Deposit(200.00F);
Account destination = new Account();
destination.Deposit(150.00F);
source.TransferFunds(destination, 100.00F);
Assert.AreEqual(250.00F, destination.Balance);
Assert.AreEqual(100.00F, source.Balance);
}
[Test]
public void DepositFunds()
{
Account source = new Account();
source.Deposit(200.00F);
Assert.AreEqual(200.00F, source.Balance);
}
}
}
当我去编译时,UnitTest.cs 中的所有帐户引用都出现错误,提示“找不到类型或命名空间名称'帐户'(您是否缺少 using 指令或程序集引用?)”
我真的不知道我在哪里出错了......任何帮助都将不胜感激。