我有一个非常小的测试套件,用于测试 REST API 上的 CRUD 操作。我的控制器根据 API 提供的信息显示表单、表格等。我的测试类创建一个新的Buzz对象并向 API 服务器发出请求。
不幸的是,这很糟糕,因为如果我更新或删除某些内容,它会在 API 中被删除。这是一个非常糟糕的测试实践。当使用这样的外部数据源时,如何对我的应用程序进行单元测试?
我有一个非常小的测试套件,用于测试 REST API 上的 CRUD 操作。我的控制器根据 API 提供的信息显示表单、表格等。我的测试类创建一个新的Buzz对象并向 API 服务器发出请求。
不幸的是,这很糟糕,因为如果我更新或删除某些内容,它会在 API 中被删除。这是一个非常糟糕的测试实践。当使用这样的外部数据源时,如何对我的应用程序进行单元测试?
查看 PHPUnit 文档中的测试替身和存根:
http://www.phpunit.de/manual/current/en/test-doubles.html
您可以使用它们来替换 API 功能。
不幸的是,这很糟糕,因为如果我更新或删除某些内容,它会在 API 中被删除。这是一个非常糟糕的测试实践。当使用这样的外部数据源时,如何对我的应用程序进行单元测试?
创建一些虚假的、可擦除的数据。事实上,您甚至不应该在生产数据库/服务器上运行 PHPUnit 测试。