1

我认为这是一个非常愚蠢的问题,但是如果你已经使用了 ORM 框架,你会测试你的模型吗?当我意识到没有太多要测试的东西时,我就在做这件事?我主要只是将模型用于价值?例如。用于添加用户

$user = new User();
$user->username = "user1";
$user->password = "password";
$em->persist($user);
$em->flush();

然后编辑将是相似的

$user = /* get user */
$user->email = "new@email.com";
$em->flush();

类似的东西。我可能会添加的唯一功能是注册用户和更改密码以处理密码加盐和验证用户名可用。

也许另一件事是吸气剂和二传手?很琐碎的事情?你会怎么做?

public function testCanSetUsername() {
    $user->username = "Hello";
    $this->assertEquals("Hello", $this->username);
}

就这样?

4

1 回答 1

1

您应该编写故事测试以确保代码执行用户想要的操作。这听起来像是一个简单的陈述,但这些是最重要的测试。这些真正测试应用程序的功能而不是如何。您会看到这些测试最终涵盖了您问题中的代码。

例如,您可能有如下测试:

  • 用户注册到网站
  • 用户更改密码
  • 等等

事实上,如果你编写了所有这些测试并且有一些代码没有被它们覆盖,那么你可能不需要那段代码,如果你使用了 TDD,你一开始就不会编写它。

于 2010-12-18T06:36:53.797 回答