Php 如果测试中断,如何禁用web应用程序中的功能?
我必须为这个类编写一个scraper,我想对它进行测试,以确保它实际工作 在这种情况下,我正在抓取的网站对他们的网站进行更改,我希望我们的网站失败并禁用该功能,直到我们更新抓取器 假设我使用单元测试来测试scraper,是否有一些工具会每X分钟运行一次测试,并在禁用Y功能之前检查它是否损坏 我想我要问的是,我可以利用哪些工具使我的应用程序更加健壮,这样我的用户就不会在我的刮板损坏时看到一些奇怪的消息Php 如果测试中断,如何禁用web应用程序中的功能?,php,testing,lamp,robustness,Php,Testing,Lamp,Robustness,我必须为这个类编写一个scraper,我想对它进行测试,以确保它实际工作 在这种情况下,我正在抓取的网站对他们的网站进行更改,我希望我们的网站失败并禁用该功能,直到我们更新抓取器 假设我使用单元测试来测试scraper,是否有一些工具会每X分钟运行一次测试,并在禁用Y功能之前检查它是否损坏 我想我要问的是,我可以利用哪些工具使我的应用程序更加健壮,这样我的用户就不会在我的刮板损坏时看到一些奇怪的消息 当网站有意外的HTML时,让scraper抛出一个自定义异常 编写单元测试,测试scraper在
$scraperConfiguration = array(
'disable_on_error' => true,
'notify_on_first_error' => true,
'notify_email' => 'scrape-errors@example.com',
);
...
$scraper = new Scraper($scraperConfiguration);
$scrapeResult = $scraper->scrape();
...
正如这个小铲运机所显示的,您可以配置它的内部错误处理,在这里,在发生错误时自动禁用并发送NotiActions
因为它将被自动禁用,您的站点将返回一个空结果,并且在您解决问题之前不再需要太多关注
此外,您可以在测试配置的测试用例中使用它(例如,引发异常并对其进行测试,而不是发送电子邮件并在出错时禁用),这样您就可以在测试中看到它,尤其是在开发和维护组件时