TDD流程说明

时间:2013-11-13 09:22:27

标签: unit-testing testing tdd phpunit automated-tests

我是单元测试和TDD 的新手。我知道它有多重要,所以我想开始学习它。问题是我看不到TDD中的全貌。我的意思是,当我刚开始一个项目时,我该怎么做?我已经玩了一些测试,测试方法或其他东西,但是我如何在更大范围内进行,就像整个项目一样?

那么请问,有人可能写下要点或者我应该如何开始

我是否测试每个类并为每个方法编写测试,如何测试我的应用程序整体等等。

1 个答案:

答案 0 :(得分:1)

  

我是否测试每一个类并为每个方法编写测试,以及如何测试我的   申请作为一个洞,等等。

基本上,在一个完美的世界里,是的。您甚至可以为每种方法编写多个测试。和测试驱动的方法,你开始编写测试,然后开始开发并使测试通过。

示例:

您是关于编写配置文件类并希望开始使用测试驱动开发。因此,您将开始编写之前的测试:

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。它遵循一种不同的方法来测试名为“行为驱动的开发”。你应该看一下。