我如何编写自动化测试? -- testing 领域 drupal 相关 的问题

How do I write automated tests?


23
vote

问题

中文

我看到Drupal 7包括某种测试框架(我没有尝试过尝试,因为我现有的网站仍处于Drupal 6,并且可能不会很快迁移)。如何为Drupal 6站点编写自动化测试,是有这个模块吗?实际上可以自动测试多少,而不是需要手动测试?

英文原文

I saw that Drupal 7 includes some kind of testing framework (I haven't tried it out yet since my existing sites are still in Drupal 6 and likely won't migrate any time soon). How can you write automated testing for a Drupal 6 site, is there a module for this? How much can actually be tested automatically rather than requiring manual testing?

  
     
     

回答列表

24
 
vote
vote
最佳答案
 

http://drupal.org/project/simpletest - 它提供与核心D7模块的基本相同的测试API和你还必须自己写下测试。还有 http://drupal.org/project/simpletest_automator 显然会帮助您在网站上记录您的操作最简单的最简单。

其他有用链接:

  • http://drupal.org/project/selenium
  • http://drupal.org/simpletest
 

http://drupal.org/project/simpletest - it provides essentially the same testing API as the core D7 module and you still have to write the tests yourself. There is also http://drupal.org/project/simpletest_automator that apparently will help you 'record' your actions on a site into a SimpleTest for you.

Additional helpful links:

  • http://drupal.org/project/selenium
  • http://drupal.org/simpletest
 
 
9
 
vote

对于网站测试您可能无法找到最简单的最佳解决方案。它旨在测试代码,而不是站点的行为。您可能对 selenium 等更大的大图片测试工具感兴趣,因为戴夫雷德提到。

 

For site testing you may not find Simpletest the best solution. It's designed to test code, rather than the behavior of a site. You may be interested in more big-picture testing tools like Selenium, as Dave Reid mentioned.

 
 
3
 
vote

用于Drupal 6的许多贡献模块包括简单的最简单。如果您需要灵感,请看看 date 模块。

 

A number of contributed modules for Drupal 6 includes simpletests. If you need inspiration take a look at the Date module for instance.

 
 

相关问题

8  使用自定义任务测试安装配置文件  ( Testing installation profile with custom tasks ) 
对于一个大型项目,我们正在使用代码驱动开发工作流程。我们正在使用自定义安装配置文件来安装和配置项目上使用的Contrib和自定义模块。确保对此配置文件的正确性,我们需要像任何其他模块一样测试它。 目前,我们使用最简单的测试用例,这些测试案例看起来像是到目前为止工作的很好。 class FooTestCase ex...

30  如何在Drupal中进行测试驱动开发(TDD)?  ( How to do test driven development tdd in drupal ) 
在Drupal中使用TDD的工具是什么(PHP模块,Drupal模块等)? 您的提交/测试/部署工作流程是什么样的?您是否使用Phing,PhpunderControl,Hudson管理此工作流程? 在哪种方式,单位测试使您的代码更可靠? 您需要单独,昂贵,独立的单位测试服务器,或者您可以从笔记本电脑中完成吗? ...

6  如何进行(单位)测试Drupal特定的JavaScript代码?  ( How to do unit testing of drupal specific javascript code ) 
在自定义模块中的PHP代码,我们使用简单。但是如何在模块或主题中测试JavaScript代码? 我知道JavaScript测试框架,如茉莉花或 qunit ,但我很想知道,如果以及如何使用它们用于测试Drupal特定的JavaScript代码。 ...

2  从外部测试服务  ( Testing services from outside site ) 
我有点沮丧,试图在外面的应用程序消耗服务时。服务浏览器在测试服务本身时非常宝贵,但在帮助测试服务器时失败。例如,如果我在服务中执行视图,则返回带有节点引用的数组(PHP)。当我尝试JSON服务器模块时,它不会返回节点引用。有关如何通过JSON测试不同服务功能的建议?我虽然可以写入PHP文件来做到这一点,但我想看看是否...

3  多用户/角色测试,最佳实践  ( Multi user role testing best practices ) 
我是喜欢使用drupal 6创建一个具有多个用户"类型" 的站点,具有不同的内容配置文件,具有相关的权限的不同角色,对节点的不同访问等。我当前的网站有3个不同的角色 - 招聘人员,候选人和候选人一个简单的管理员(作为缩小的特征子集管理员,限制非技术管理员可以对网站做的损坏量,但仍然可以根据编辑传出电子邮件,添加/删除...

0  我需要在D7上测试模块的最低要求是多少?  ( What is the minimum i need to get a test for a module on d7 ) 
我有一个自定义模块,这相当成熟,我现在刚刚绕过写作它的测试。但是,我很难让它在测试菜单中显示。我需要为我的模块获得自动化测试的最低限度是什么? 我有: module.info : files[] = tests/module.test tests/module.test : <?php clas...

1  使用drupaldebtestcase从链接下载文件?  ( Download a file from a link using drupalwebtestcase ) 
我正在构建一个文件下载作为其功能的一部分的模块。它中的数据从使用表单中动态填充。 是否有DrupalWebtestCase中的方法,允许我下载它?或者我诉诸WGET? ...

1  表格为db_select()在简单测试中的前缀  ( Table prefixes with db select in simpletest tests ) 
如何使用像 99887663 和 999887664 99887664 99887665 子类别等函数进行数据库查询?当我尝试运行它们时,我收到错误: sqlstate [42000]:语法错误或访问冲突:1064您在SQL语法中存在错误;检查与MySQL Server版本相对应的手册,以便在第2行(NIDT...

0  显示最简单的测试覆盖  ( Showing test coverage of simpletests ) 
我希望开始使用简单的(或可能转到pressflow)来测试我正在处理的一些笨蛋模块。 我想获得有关这些测试所涵盖的代码的一些信息。我已经看到,可以从xdebug中获取此信息。 我还看到了这些代码覆盖报告,但不知道它们是如何生成。 有关如何在任何地方设置的说明? (理想情况下为D6) ...

1  如何检查页面中是否存在链接是否存在?  ( How do i check if a link exists in a page ) 
有一个表单,它具有链路,即将折叠到哪个字段集以在其下显示字段。 HTML如下所示。 <span class="fieldset-legend"> <a href="#" class="fieldset-title"> <span class="fieldset-legend-prefix elemen...

2  带有Drupal 7测试框架的经过太多  ( Too many passes with drupal 7 test framework ) 
我正在使用D7测试框架实现一些测试。 一切都很好,除了数字似乎没有加起来,我想知道如何评估通过/失败? 问题是,对于两个测试方法,我得到了"6次通过,0失败,4个例外和2个调试消息" 。 显然,我错过了一些东西,但我假设一个测试方法会产生一个通过/失败,因此我应该只有两个结果。 其次,如何了解有关报告的例外的更多信息...

3  定制内容类型的单元测试  ( Unit test for custom content type ) 
我在d7中创建了我的自定义内容类型'提议',并使用field api来附加字段。 为了使用"SimpleTest" (核心模块)为其编写单元测试,我是否需要在从头开始中设置我的提案内容类型,或者将内容模式可用于单位测试? ...

1  以编程方式分配给用户的所有权限  ( Assign all permissions to a user programatically ) 
是否有一种方法可以通过代码分配给身份验证的用户的所有权限,我想在单元测试中进行。 ...

3  如何在简单 - 硒测试(Selenium Module)中启用模块?  ( How do i enable modules in a simpletest selenium test selenium module ) 
我正在使用 selenium 模块用于drupal,它与 simpleTest 。 我无法做到的一件事是为测试用例启用模块。我能够在最简单的测试中启用它们(使用 setUp() )。 如何在Selenium测试中启用模块? ...

1  最简单的模块无法识别测试用例  ( The test case is not recognized by the simpletest module ) 
我正在使用drupal 7,以及最新版本的简单模块。我已经写了一个如下的测试用例: class SimpleTestDemoTestCase extends DrupalWebTestCase { function setUp($modules = array()) { parent::setUp('...

0  软件测试和回归测试  ( Software testing and regression testing ) 
我的公司已经掌握了一个Drupal网站,其中有一些模块已经专门为本网站开发。 我必须回答大多数软件所做的一个问题:我们如何使用Drupal进行"软件测试" 和"回归测试" > ...

2  使用简单测试测试批量API使用  ( Testing batch api usage with simpletest ) 
我写了一个模块,读取用户记录的CSV,并使用批处理API将它们导入Drupal 6。批处理API操作回调基本上只是user_save()。手动测试时,它可以正常工作。我现在正在编写一个简单的最简单来验证它。 我发现的是,当我运行我的测试时(扩展drupalybtestcase),它实际上在我的主滴水台的表中创建了新用...

0  如何为简单最简单的自定义配置文件字段创建用户  ( How to create a user with custom profile fields for a simpletest ) 
如何以简单的最重要的方式以编程方式创建新用户?用户必须在注册期间拥有某些自定义字段。 我正在使用 $this->drupalPost('user/register', $edit, 'Create new account'); 目前创建帐户,因为我没有看到使用 drupalCreateUser() 的自定义配置文件字...

3  如何在最简单的电子邮件中检查外发电子邮件内容?  ( How to inspect outgoing email content during a simpletest ) 
我看到简单的最简单有一些内置的邮件函数来检查发送成功等,但是如何发送消息,声明它的内容,然后在测试期间单击该内容中的链接? 测试取消订阅的标准或最常用方式是什么是使用简单最简单的电子邮件中的帐户验证链接? ...

2  SimpleGest方法DrupalgetMails()是否会阻止发送实际电子邮件?  ( Does the simpletest method drupalgetmails prevent actual emails from being sen ) 
在简单中,由 drupalgetmails ()继续到您的系统邮件传输代理或实际发送抑制? ...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.