C#中单元测试的一个例子?

Met*_*uru 9 asp.net-mvc unit-testing

究竟什么是单​​元测试?如何编写单元测试?我听到很多时候人们在他们的应用程序写完之前就已经写过了,这怎么可能?我的印象是,单元测试是一些代码,它使用设定值调用应用程序的方法,并期望返回特定值,如果特定值没有返回,则测试失败.我错了还是误导了?我读了很多关于单元测试的内容,但我对代码中的实际内容知之甚少,所以样本会很棒.

这是单元测试吗?

启动伪代码...

CheckForDuplicateSubdomains(){
  get all users in DB with matching subdomains
  if greater than zero, fail test
}
Run Code Online (Sandbox Code Playgroud)

PS:我在C#中使用ASP.NET MVC

Nes*_*tor 8

你对单元测试是正确的.我们的想法是逐个测试你所有的功能,使用不同的输入来确保它们像你期望的那样工作(而不是在它们被插入到应用程序之后发现......然后使测试变得更复杂).

在编写函数之前编写单元测试是称为"测试驱动开发"的方法的一部分.在其中您只编写函数的骨架,并且首先测试所有单元.所以一开始所有测试都会失败(b/c函数尚未编程).之后,您将对该功能进行编程,直到所有测试通过.


Qua*_*ire 1

我的印象是,单元测试是一些代码,它使用设定值调用应用程序的方法,并期望返回特定值,如果特定值没有返回,则测试失败。我在这里错了还是误导了?

不,你说得完全正确。

单元测试的重要一点是尽可能测试一小段代码。

在您的示例中,您从数据库中获取一些内容,然后计算项目的数量...如果您的方法失败,您将永远不知道到底哪里出了问题,因为有太多可能出错的地方...

您的数据库连接可能会丢失,sql 无效,...

如果您使用的是 asp.net MVC,那么您应该比使用普通的 asp.net 更容易编写单元测试