我是Visual Studio Unit测试框架和单元测试的新手。
class Request
{
private Dictionary<string, List<int>> processedText = new Dictionary<string, List<int>>();
Public bool Method1(string input)
{
//intialize processedText to some values based on input.
}
public int Method2()
{
//use the processedText.
}
}
现在我不确定如何对这段代码进行单元测试?
我的问题是拥有一个全局变量,初始化它并在其他方法中使用是一个很好的编程习惯吗?
我的代码单元是否可测试?任何有助于磨练我的单元测试技能的链接都将非常有用。我经历了一些教程但从未遇到过这种情况。
答案 0 :(得分:0)
答案 1 :(得分:0)
要使类可测试,您必须设置三个基本部分:
您发布的代码不单元可测试,因为无法验证结果。如果您需要验证的结果依赖于不同的来源,例如数据库或文件,那么您正在编写集成测试。
以下是可以进行单元测试的单元测试和代码示例。原谅蹩脚的例子:
[TestClass]
public class CalculatorTest
{
[TestMethod]
public void When_Two_Numbers_Are_Passed_To_The_Add_Method_The_Result_Should_Be_The_Addition_Of_The_Two_Numbers()
{
// Arrange
double x = 1.0;
double y = 2.0;
double expectedResult = 3.0;
ICalculator calculator = new Calculator();
// Act
double actualResult = calculator.Add(x, y);
// Assert
Assert.AreEqual(expectedResult, actualResult);
}
}
以下是将通过测试的课程:
public class Calculator : ICalculator
{
public double Add(double x, double y)
{
return x + y;
}
}
public interface ICalculator
{
double Add(x, y);
}
现在,“单元测试”指的是TDD吗?