我想通过功能测试来介绍我们的应用程序。我熟悉大多数示例,但它们并不适合我,因为它们太简单了,无法解释如何描述测试的依赖。假设我们有博客应用程序,我们想测试博客文章的创建。首先,只有经过身份验证和授权的用户才能创建博客帖子。其次,为了创建博客帖子,他们必须自己创建博客。第三,为了创建博客,他们必须注册帐户等。所有这些操作也必须用测试覆盖,因此测试之间存在依赖关系,如
class SigningUpTest { ... }
class LoginTest { ... } // depends on SigningUpTest
class CreatingBlogTest { ... } // depends on LoginTest, here I should get something like session_id
在简单的应用程序中,我可以将所有这些情况放在1类中,并使用PHPUnit的@depends注释。它完美地工作,直到我们必须在不同的类中分解测试,因为应用程序变得复杂。
如何测试复杂的应用程序?