声明:本篇博客翻译自:http://www.c-sharpcorner.com/article/unit-testing-with-ms-tests-in-c-sharp/浏览器
写在翻译以前:服务器
依然清晰的记得刚工做的第一个项目中,在完成一个功能模块开发后,师傅让我把代码作一下单元测试。当时一脸“懵懂”。内心的疑惑油然而生,测试不该该是测试人员作的吗?而后就写了一些测试用例把功能简单过了一遍。过了几天后,师傅问我单元测试完成了吗?我很自信的告诉师傅搞定了。师傅让我把单元测试的代码提交到服务器上,他想Review一下!我更加疑惑了,对师傅说,单元测试还要写代码呀?:(框架
不少初级开发工程师都会有这样的困惑:谁应该来作单元测试。单元测试应该是由开发者来完成的。函数
经过一些代码来测试一个方法/函数的行为。单元测试
想象一下若是代码修改须要很是频繁,那么花费在回归测试上的精力会很是多,一样的,也会有很大的概率捕捉到功能回退(修改缺陷)的问题。测试
回归测试:翻译
回归测试是确保当增长了新的修改后,老的功能依旧能够正常使用。对象
单元测试:blog
TDD:开发
在写产品代码以前先写单元测试代码,而后使用产品代码来填充/覆盖测试代码。最终使测试代码都运行经过。
在C#中有2个测试框架
咱们使用AAA模式来编写单元测试
右击解决方案浏览器,选择Unit Test Project并添加:
Employee类:
public class Employee { public string GetName(string firstName, string lastName) { return string.Concat(firstName, " ", lastName); } }
单元测试类:
[TestClass] public class EmpoyeeFunctionalTest { [TestMethod] public void GetNameTest() { // Arrange Employee employee = new Employee(); string firstName = "Jimmy"; string lastName = "Yang"; string expacted = "Jimmy Yang"; string actual = string.Empty; // Act actual = employee.GetName(firstName, lastName); // Assert Assert.AreEqual(expacted, actual); } }
但愿上述内容可以帮助你对单元测试有一个概念性的认识。
感谢您的阅读!翻译的不到位之处还望指正。谢谢~