类方法:
public decimal GetVehicleSalePrice()
{
return this.vehicleSalePrice;
}
public void SetVehicleSalePrice(decimal vehicleSalePrice)
{
this.vehicleSalePrice = vehicleSalePrice;
}
测试:
static void Main(string[] args)
{
SalesQuote quote = new SalesQuote(5000.00m, 500.75m, .3m, Accessories.LeatherInterior, ExteriorFinish.Custom);
TestGetVehicleSalesPrice(quote, 5000.00m);
}
private static void TestGetVehicleSalesPrice(SalesQuote quote, decimal expected)
{
Console.WriteLine("Test 1");
Console.WriteLine("Testing method GetVehicleSalesPrice()");
Console.WriteLine("Expected: " + expected);
Console.WriteLine("Actual: " + quote.GetVehicleSalePrice());
Console.WriteLine();
}
//Testing method SetVehiclePrice()
private static void TestSetVehiclePrice(SalesQuote quote, decimal expected)
{
Console.WriteLine("Test 2");
Console.WriteLine("Testing method SetVehicleSalesPrice(decimal)");
Console.WriteLine("Expected: " + expected);
Console.WriteLine("S" SetVehicleSalePrice(1000.00m));
Console.WriteLine();
}
我对 get 方法的测试工作正常,但 set 方法测试工作不正常。我不确定,我如何测试 set 方法,请帮我解决这个问题,提前致谢。
答案 0 :(得分:0)
我认为您需要在设置销售价格后添加以下内容:
Console.WriteLine("Actual: " + quote.GetVehicleSalePrice());
出于您的目的,您打印的是预期的,而不是打印实际的以进行比较。然而,这并不是一个很好的测试用例。相反,您应该考虑研究和实施单元测试。
答案 1 :(得分:0)
SetVehicleSalePrice
是一个 void 方法,但您希望它输出值作为其设置值。如果这是您打算执行的操作,请将方法的返回类型更改为十进制并返回新值。
public decimal SetVehicleSalePrice(decimal vehicleSalePrice)
{
this.vehicleSalePrice = vehicleSalePrice;
return this.vehicleSalePrice;
}
答案 2 :(得分:0)
Console.WriteLine("S" SetVehicleSalePrice(1000.00m));
您上面的代码行必须引发编译错误。假设您在 SalesQuote 类中有 SetVehicleSalePrice 方法,您可以尝试以下代码。
quote.SetVehicleSalePrice(1000.00m);
Console.WriteLine("After calling set :" + quote.GetVehicleSalePrice());