我的NUnit及.Net Framework版本信息为:照着例子写了一个很简单的程序:namespace NUnit.Samples.Money
{ /// <summary>The common interface for simple Monies and MoneyBags.</summary>
interface IMoney
{ /// <summary>Adds a money to this money.</summary>
IMoney Add(IMoney m); /// <summary>Adds a simple Money to this money. This is a helper method for
/// implementing double dispatch.</summary>
IMoney AddMoney(Money m); }
}namespace NUnit.Samples.Money
{ using System;
using System.Text; /// <summary>A simple Money.</summary>
class Money : IMoney
{ private int fAmount;
private String fCurrency; /// <summary>Constructs a money from the given amount and
/// currency.</summary>
public Money(int amount, String currency)
{
fAmount = amount;
fCurrency = currency;
} /// <summary>Adds a money to this money. Forwards the request to
/// the AddMoney helper.</summary>
public IMoney Add(IMoney m)
{
return m.AddMoney(this);
} public IMoney AddMoney(Money m)
{
// if (m.Currency.Equals(Currency))
return new Money(Amount + m.Amount, Currency);
// return new MoneyBag(this, m);
} public String Currency
{
get { return fCurrency; }
} public int Amount
{
get { return fAmount; }
}
}
}namespace NUnit.Samples.Money
{
using System;
using NUnit.Framework;
/// <summary>
///
/// </summary>
///
[TestFixture]
public class MoneyTest
{
private Money f12CHF;
private Money f14CHF;
private Money f7USD;
private Money f21USD; // private MoneyBag fMB1;
// private MoneyBag fMB2; /// <summary>
///
/// </summary>
///
[SetUp]
protected void SetUp()
{
f12CHF = new Money(12, "CHF");
f14CHF = new Money(14, "CHF");
f7USD = new Money(7, "USD");
f21USD = new Money(21, "USD"); // fMB1 = new MoneyBag(f12CHF, f7USD);
// fMB2 = new MoneyBag(f14CHF, f21USD);
} /// <summary>
///
/// </summary>
///
[Test]
public void SimpleAdd()
{
// [12 CHF] + [14 CHF] == [26 CHF]
Money expected = new Money(26, "CHF");
Assert.AreEqual(expected, f12CHF.Add(f14CHF));
}
}
}编译后生成dll,然后调试,调用出来Nunit,但竟然没有Testcase,如图,我明明写了Testcase,为什么找不到呢?
网上搜索了很长时间,没找到答案,希望大虾指点!
{ /// <summary>The common interface for simple Monies and MoneyBags.</summary>
interface IMoney
{ /// <summary>Adds a money to this money.</summary>
IMoney Add(IMoney m); /// <summary>Adds a simple Money to this money. This is a helper method for
/// implementing double dispatch.</summary>
IMoney AddMoney(Money m); }
}namespace NUnit.Samples.Money
{ using System;
using System.Text; /// <summary>A simple Money.</summary>
class Money : IMoney
{ private int fAmount;
private String fCurrency; /// <summary>Constructs a money from the given amount and
/// currency.</summary>
public Money(int amount, String currency)
{
fAmount = amount;
fCurrency = currency;
} /// <summary>Adds a money to this money. Forwards the request to
/// the AddMoney helper.</summary>
public IMoney Add(IMoney m)
{
return m.AddMoney(this);
} public IMoney AddMoney(Money m)
{
// if (m.Currency.Equals(Currency))
return new Money(Amount + m.Amount, Currency);
// return new MoneyBag(this, m);
} public String Currency
{
get { return fCurrency; }
} public int Amount
{
get { return fAmount; }
}
}
}namespace NUnit.Samples.Money
{
using System;
using NUnit.Framework;
/// <summary>
///
/// </summary>
///
[TestFixture]
public class MoneyTest
{
private Money f12CHF;
private Money f14CHF;
private Money f7USD;
private Money f21USD; // private MoneyBag fMB1;
// private MoneyBag fMB2; /// <summary>
///
/// </summary>
///
[SetUp]
protected void SetUp()
{
f12CHF = new Money(12, "CHF");
f14CHF = new Money(14, "CHF");
f7USD = new Money(7, "USD");
f21USD = new Money(21, "USD"); // fMB1 = new MoneyBag(f12CHF, f7USD);
// fMB2 = new MoneyBag(f14CHF, f21USD);
} /// <summary>
///
/// </summary>
///
[Test]
public void SimpleAdd()
{
// [12 CHF] + [14 CHF] == [26 CHF]
Money expected = new Money(26, "CHF");
Assert.AreEqual(expected, f12CHF.Add(f14CHF));
}
}
}编译后生成dll,然后调试,调用出来Nunit,但竟然没有Testcase,如图,我明明写了Testcase,为什么找不到呢?
网上搜索了很长时间,没找到答案,希望大虾指点!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货