自从我接触 TDD 以来,我一直在思考这个问题。
构建“Hello World”应用程序的最佳方法是什么?这将在控制台上打印“Hello World” - 使用测试驱动开发。
我的测试会是什么样子?以及大约什么班?
Request: No "类似维基百科" 链接到什么是 TDD,我很熟悉 TDD。只是好奇如何解决这个问题。
您需要将控制台隐藏在界面后面。 (无论如何,这可以认为是有用的)
写一个测试
[TestMethod]
public void HelloWorld_WritesHelloWorldToConsole()
{
// Arrange
IConsole consoleMock = MockRepository.CreateMock<IConsole>();
// primitive injection of the console
Program.Console = consoleMock;
// Act
Program.HelloWorld();
// Assert
consoleMock.AssertWasCalled(x => x.WriteLine("Hello World"));
}
编写程序
public static class Program
{
public static IConsole Console { get; set; }
// method that does the "logic"
public static void HelloWorld()
{
Console.WriteLine("Hello World");
}
// setup real environment
public static void Main()
{
Console = new RealConsoleImplementation();
HelloWorld();
}
}
Refactor做一些更有用的事情;-)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)