插件开发的单元测试


17

我需要对其中一个插件进行单元测试。我最近将其重新设计为类,因此现在应该更容易进行单元测试。

对插件进行单元测试的有效策略有哪些?我需要一种方法来使用插件中使用的WordPress函数,但是我不需要运行中的WordPress网站(只需在DB AFAIK上测试数据),对吗?

我很难弄清楚如何仅对插件进行单元测试,而不是在站点上下文中对插件进行单元测试。我可以为此使用Selenium,但是现在我只想集中精力对插件类功能进行单元测试,以便在每次更新时都不会破坏它们。

Answers:


14

作为一名从事大型业务类型的前软件工程师,他加入了一个交互式代理机构,让我给您一些在为Wordpress开发时进行测试的想法:

  1. 您的单元测试应该测试类可以执行的最少行为。每个类都应该能够独立于Wordpress进行测试。如果您具有Wordpress依赖关系,请考虑在测试中创建模拟对象和/或方法来解决此问题。最终,这将稍微改变您编写代码的方式-但它将更具可测试性。和往常一样,没有免费的午餐。

  2. 当您达到功能测试级别时,可以在此处使用Wordpress依赖项来测试代码。在这里,您将实际测试您的插件是否实际执行了应该执行的服务。

  3. 根据您的插件的功能-考虑使用基于Selenium的测试,该测试通过使用ID测试DOM中数据的存在。它的功能相当强大,而且版本间版本中断的可能性要小得多。同样,这里的技巧是将测试视为软件开发生命周期的一部分。代码中的较大更改将逐步降级为测试中的较大更改。生意的全部费用。

如果您需要任何工具来完成此任务,如果您提出了一个新的问题,我很乐意回答。我在工作中同时使用了PHPUnit及其硒扩展。


1
嘿Ethan,感谢您的专业回答。不能指望从这个社区得到更多的东西:)我将尝试为我的类编写单元测试,并创建一些模拟对象来解决WordPress的功能。第2步对我来说是最困难的部分,因为我需要具有WordPress安装程序才能进行某种自动测试,以后可以在其中开始使用Selenium。我将从PHPUnit开始,看看如何进行。谢谢!
Fernando Briano

完美的答案!
rsman 2012年


-1

我最近创建了一个教程,从我的谷歌搜索中获取信息,以显示如何:

  1. 使用wordpress核心进行单元测试
  2. 隐藏不推荐使用的php /会话发送警告
  3. 显示如何在测试中设置插件选项
  4. 使用相同的wp核心制作单元测试来测试多个插件

本教程在这里,希望对您有所帮助

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.