プログラムの上部にある「using」ステートメントを使用してプログラムの名前空間を参照することについての投稿を、こことこことここですでに読んだことがあります。適切な参照を追加し、クラスを公開し、適切な名前空間を参照しました。私はそれを正しく設定したと信じています...そして私は正直にここでそのような基本的な質問をするのは少しばかげていると感じますが、私は困惑しています。それはまだ機能していないので、私は何かが欠けているに違いありません、そして私はそれを理解することができません。
メインプログラムからテストを分離しながら、Nunitを使用して単体テストを実行する方法を学習しようとしています。これが私がこれまでに持っているコードです:
Program.csとAccount.csは最初のプロジェクト(NUnitTestProgramWithSeparation)にあります
Program.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);
}
}
}
Account.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という2番目のプロジェクトに、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ディレクティブまたはアセンブリ参照がありませんか?)」というエラーが表示されます。
私はここでどこが間違っているのか本当にわかりません...どんな助けでもいただければ幸いです。