【发布时间】:2013-08-12 11:20:33
【问题描述】:
我是 PHPUnit 的新手,事实上我是从今天开始的。而且,就我一直在阅读的内容而言,我开始了解这个脚本的作用。
class UserTest extends PHPUnit_Framework_TestCase
{
protected $user;
// test the talk method
protected function setUp() {
$this->user = new User();
$this->user->setName("Tom");
}
protected function tearDown() {
unset($this->user);
}
public function testTalk() {
$expected = "Hello world!";
$actual = $this->user->talk();
$this->assertEquals($expected, $actual);
}
}
对于这个类:
<?php
class User {
protected $name;
public function getName() {
return $this->name;
}
public function setName($name) {
$this->name = $name;
}
public function talk() {
return "Hello world!";
}
}
好的,所以我已经确定测试会根据测试的相等性返回一个 Ok/Fail 语句,但是 我正在寻找的更多。我需要一种实际的方法来测试一个更复杂的类,它的结果与这个例子不同,不能轻易猜到。
说,我编写了一个执行轮询的脚本。我将如何或以什么方式测试方法/类是否可以工作?上面的代码只显示一个方法的结果是否只有'Hello World' 但是,这太容易测试了,因为我需要测试复杂的东西,而且没有太多的教程。
【问题讨论】:
-
这是一个非常开放的问题,因为你没有提供任何你想要测试的细节:如果你编写一个执行轮询的脚本,那么你设计脚本的方式是使为该脚本的各个组件/功能/方法编写测试用例变得容易;并相应地编写测试,在必要时模拟其他组件。 TDD:设计你需要的基本功能;编写测试;然后编写代码;所以在设计代码时要考虑到测试
-
因此,您的测试应该使用类方法来填充投票,或者使用 selenium 等前端插件来测试用户体验,如果您的前端实际上与您的逻辑通信最好的
标签: php unit-testing phpunit