【发布时间】:2016-08-16 03:06:42
【问题描述】:
我对 mz 测试有问题 ..Class1' 不包含 'Function' 的定义,并且找不到接受类型为 'Class1' 的第一个参数的扩展方法 'Function'(您是否缺少 using 指令或程序集参考?) ClassTestProject2
我已经添加了对我的类 Class1 的引用到测试库中,对象也很好这是我的代码,我是 c# 的新手,所以我可能没有做我应该做的事情,sobebodz 有一些想法吗?谢谢你:)
测试:
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using ClassLibrary1;
namespace ClassTestProject2
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethodPlus()
{
double number1 = 9.0;
double number2 = 1.0;
string op = "plus";
double expected = 9.0;
Class1 count = new Class1();
double actual = count.Function(number1, number2, op);
Assert.AreEqual(expected, actual);
}
}
}
这是我的课:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ClassLibrary1
{
public class Class1
{
public static double Function(double num1, double num2, string op)
{
double finRes = 0;
if (op == "plus")
{
finRes = num1 + num2;
}
else if (op == "minus")
{
finRes = num1 - num2;
}
else if (op == "multiple")
{
finRes = num1 * num2;
}
else if (op == "divide")
{
finRes = num1 / num2;
}
else if (op == "exp")
{
finRes = Math.Pow(num1, num2);
}
else if (op == "fac")
{
double result = num1;
for (double i = (num1) - 1; i > 0; i--)
{
result = result * i;
finRes = result;
}
}
else if (op == "sqrt")
{
finRes = Math.Sqrt(num1);
}
return finRes;
}
}
}
【问题讨论】:
-
函数是静态的。你不要用你的实例化类调用它,你用 Class1.Function(...) 调用它
-
以防万一:
1.0+9.0 != 9.0