我有一个银行帐户课程。我们正在学习如何使用NUnit测试构造函数以及对象和方法。
这是我的BankAccount类。
using System;
namespace PT7BankSim
{
public class BankAccount
{
private int _accNumber;
private double _balance;
private AccountType _type;
public int AccNumber
{
get
{
return _accNumber;
}
}
public double Balance
{
get
{
return _balance;
}
}
public BankAccount(int accNum, AccountType type)
{
_balance = 0.00;
_accNumber = accNum;
_type = type;
}
public void Deposit(double amt)
{
_balance += amt;
}
public void Withdraw(double amt)
{
if (amt > _balance)
{
Console.WriteLine("\n\n Insufficient Balance in account: " + _accNumber);
}
else
{
_balance -= amt;
}
}
public String Details()
{
String sDetails = _type + " Account" + " : " + _accNumber + " Balance : " + _balance;
return sDetails;
}
}
}
这是我的“ TestClass”,我应该测试BankAccount的构造函数
using System;
using NUnit.Framework;
namespace PT7BankSim
{
[TestFixture]
public class TestBank
{
[Test]
public void TestConstructor()
{
BankAccount TBA = new BankAccount();
Assert.AreEqual(00, TBA.AccNumber);
}
}
}
现在我只是随机测试1个值/参数,IDE给我一个错误,提示“没有给定的参数对应于BankAccount.BankAccount(int,AccountType)所需的形式参数accNum”
为什么会给出此错误以及如何解决?我想念什么吗?
答案 0 :(得分:3)
当BankAccount类没有无参数构造函数时,您正在调用无参数构造函数。
要么在BankAccount类中创建无参数构造函数,要么将参数正确传递到新的BankAccount();