Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 MVC3和TDD预编码或后编码_Asp.net Mvc 3_Tdd - Fatal编程技术网

Asp.net mvc 3 MVC3和TDD预编码或后编码

Asp.net mvc 3 MVC3和TDD预编码或后编码,asp.net-mvc-3,tdd,Asp.net Mvc 3,Tdd,我仍在努力学习MVC3,现在我正在研究TDD,而不断出现的毫无意义的事情是 The first step is to quickly add a test, basically just enough code to fail. 为什么要为您的代码创建一个测试来通过呢?对我来说,编写代码,然后测试它,看看它是否失败,然后修复可能出现的任何和所有错误,这更有意义。如果您编写代码,然后编写测试,那么您就不是在进行测试驱动的开发 这就是TDD的含义;编写代码是为了使预写测试能够通过。如果你不这样做

我仍在努力学习MVC3,现在我正在研究TDD,而不断出现的毫无意义的事情是

The first step is to quickly add a test, basically just enough code to fail. 

为什么要为您的代码创建一个测试来通过呢?对我来说,编写代码,然后测试它,看看它是否失败,然后修复可能出现的任何和所有错误,这更有意义。

如果您编写代码,然后编写测试,那么您就不是在进行测试驱动的开发

这就是TDD的含义;编写代码是为了使预写测试能够通过。如果你不这样做,你就不是在做TDD

其思想是,您的测试代表了应用程序的需求。你首先写下这些,就像你在开始编码之前把你的需求写在纸上一样


这样,您就知道当所有测试都通过时,您就完成了。

首先编写测试会让您开始思考该方法将如何通过和失败-您开始更深入地思考该方法

否则,很容易在不经过太多思考的情况下直接进入该方法,导致产生不那么容易测试的方法。以后再回到单元测试是太容易了——它通常不会发生


此外,如果您首先编写方法,您在什么时候编写测试?当你知道它过去了,当你对它感到“快乐”的时候。。。编写代码而不考虑测试是一个很滑的斜坡。

但这将假定您不会错过任何测试,并且测试中没有错误,当测试失败时会给您带来积极的结果。另外,TDD通常会为项目增加多少时间?如果您错过了测试,则说明您做得不对。如果你的测试中有bug。。。好。。。至于增加了多少时间,;我有点明白你的意思,但是如果这个方法一完成就被测试了,那么你仍然在测试这个方法。那么方法/类等呢?这些方法/类一旦1/2通过了its,然后决定完全更改它们,那么您编写的测试将变得多余,从而为项目增加更多的时间来重新编写测试。TDD实际上有助于防止“1/2通过”的更改因为它让您从一开始就更多地考虑需求。你可以更快地回到工作中去。项目前期有更多的时间-同意-但我认为通过提高质量可以节省更长的时间。这不是一个银弹,但一旦你这样做了,你就不想回去了。