我刚接触过单元测试和TDD。我明白它是多么重要,所以我想开始学习它。问题是,--我看不出TDD的全貌。我的意思是,当我刚开始一个项目的时候,我该怎么做呢?我已经进行了一些测试,测试了一种方法或其他什么,但是如何在更大范围内实现,就像整个项目一样?
所以拜托,有人可以在的公报上写下来吗?或者我该怎么开始?
我是否测试每个类并为每个方法编写测试,以及如何测试我的应用程序作为一个整体,等等。
发布于 2013-11-13 09:28:18
我是否测试每个类,并为每个方法编写测试,以及如何将我的应用程序测试为一个漏洞,等等。
基本上,在一个完美的世界里,是的。您甚至可以在每个方法中编写多个测试。而测试驱动意味着,您开始编写测试,然后开始开发,并使测试通过。
示例:
您将编写一个配置文件类,并希望开始使用测试驱动的开发。因此,您将在实现之前开始编写测试:
class ConfigFileTest extends PHPUnit_Framework_TestCase {
public function testOpen() {
$config = new ConfigFile(); // 1 .test will fail because the class doesn't exists
// -> solution write the class
$this->assertTrue($config->open('test.config')); // 2. test will fail because open isn't implemented yet
// -> solution: implement open()..
// and so on ...
}
}正如您所看到的,测试可以指导您实现,并且作为一个特殊的好处,它将在实现之后保持有用,因为您可以使用测试来检查类是否按预期工作,即使在代码后来的更改之后也是如此。
不过,我应该告诉您有关behat的情况。它采用了一种不同的测试方法,称为“行为驱动的开发”。你应该看看。
https://stackoverflow.com/questions/19949908
复制相似问题