标签: functional-testing

使用Recaptcha进行Rails功能测试

我的UsersControllerTest当前失败,因为我在UsersController #create中使用verify_recaptcha.如何编写我的测试,以便使用params [:user]传递已知良好的CAPTCHA响应?我正在使用reCAPTCHA,但我想这个问题适用于任何CAPTCHA实现.

这是我的UsersController #create

def create
  @user = User.new(params[:user])    
  if verify_recaptcha(@user) && @user.save
    flash[:notice] = "Account registered!"
    redirect_to new_order_url
  else
    flash.now[:error] = "Account not registered!"
    render :action => :new
  end
end
Run Code Online (Sandbox Code Playgroud)

这是我的功能测试

test "should create user" do
    assert_difference('User.count') do
      post :create, :user => { :login => "jdoe",
                               :password => "secret", 
                               :password_confirmation => "secret",
                               :first_name => 'john',
                               :last_name => 'doe',
                               :address1 => '123 Main St.',
                               :city => 'Anytown',
                               :state => 'XY',
                               :zip => '99999',
                               :country => 'United States',
                               :email => …
Run Code Online (Sandbox Code Playgroud)

captcha ruby-on-rails functional-testing recaptcha

4
推荐指数
1
解决办法
1539
查看次数

如何使用用户身份验证编写功能测试?

我正在为需要用户身份验证的页面编写功能测试.我正在使用sfDoctrineGuard插件.

如何在测试中验证用户身份?

我是否必须通过登录屏幕输入每个测试?

这是我的错误代码:

$b->post('/sfGuardAuth/signin',
       array('signin[password]' => 'password',
             'signin[username]' => 'user',
             'signin[_csrf_token]' => '7bd809388ed8bf763fc5fccc255d042e'))->
       with('response')->begin()->
         checkElement('h2', 'Welcome Humans')->
       end()
Run Code Online (Sandbox Code Playgroud)

谢谢

testing doctrine symfony1 functional-testing symfony-1.4

4
推荐指数
1
解决办法
1320
查看次数

Selenium v​​s XmlUnit + HttpClient用于Web REST API测试

我需要以REST格式测试Web API函数.目前使用Selenium RC对网站进行功能测试.并使用XmlUnitHttpClient功能测试我们的REST API.但是,如果我们能够真正将功能测试代码分离到所有的硒中,那么生活似乎会更容易.特别是使用Selenium 2.0的WebDriver,使用它来测试XML响应比以往任何时候都容易XPath.

我在Pro XmlUnit+HttpClient营地的想法:

  • 允许使用直接数据库调用或Spring bean轻松进行测试
  • 更容易允许在/我们将来支持时测试JSON响应
  • selenium用于Web UI,而不是REST API测试

我在Pro Selenium WebDriver营地的想法:

  • 将功能测试全部分解为标准的硒测试
  • 通过使用我们的其他selenium UI测试轻松测试结果,进一步测试UI
  • 允许其他人而不是核心开发人员审查功能API测试
  • 也许更容易使用像BrowserMob这样使用selenium测试的服务来加载测试API?
  • 希望用selenium框架更快地进行功能测试

我们正在使用Spring 3和hibernate.什么是最好的功能测试我们的API?

testing selenium functional-testing selenium-rc web-api-testing

4
推荐指数
1
解决办法
6396
查看次数

功能测试中的请求格式

如何在功能测试中设置请求格式?

我正在尝试做类似的事情:

get :show, :id => '1', :format => :xml

但这不起作用.

ruby testing controller ruby-on-rails functional-testing

4
推荐指数
1
解决办法
1735
查看次数

使用Symfony测试数据库插入

今天是个好日子,

在过去的几天里,我一直在研究测试驱动开发,并决定我也需要学习它.虽然我无法弄清楚如何准确地做到这一点.

我的项目依赖于Symfony2.1.6框架和Doctrine,所以我有一些需要填充的数据库表.

书(1,n) - (0,n)类型

现在,如果我想插入一个类型记录,我首先需要编写一个测试来确保所有内容都被插入(或者我错了吗?)

现在的问题是我不知道如何访问我的数据库,因为它是由框架管理的.

我唯一能找到的是使用LiipFunctionalTestBundle https://github.com/liip/LiipFunctionalTestBundle,它每次运行测试时都会创建并恢复临时数据库.我按照说明设置了所有内容.

编辑:我的app/config/config_test.yml现在看起来像这样:

imports:
    - { resource: config_dev.yml }

framework:
    test: ~
    session:
        storage_id: session.storage.filesystem

liip_functional_test: ~

web_profiler:
    toolbar: false
    intercept_redirects: false

swiftmailer:
    disable_delivery: true

liip_functional_test:
    cache_sqlite_db: true

doctrine:
    dbal:
        default_connection: default
        connections:
            default:
                driver:   pdo_sqlite
                path:     %kernel.cache_dir%/test.db
Run Code Online (Sandbox Code Playgroud)

所以现在我有一个GenreTest类:
Liip没有文档所以我只是尝试了这样的方法.

use Liip\FunctionalTestBundle\Test\WebTestCase;
class GenreTest extends WebTestCase {
    public function testInsert() {
        $container = $this->getContainer();
        $registry = $container->get('doctrine');
        $em = $registry->getEntityManager(null);       

        $genre = new Genre();
        $genre->setName("testGenre"); 

        $em->persist($genre);
        $em->flush();

        $result = $em->createQuery("SELECT …
Run Code Online (Sandbox Code Playgroud)

php doctrine functional-testing symfony-2.1 liipfunctionaltestbundle

4
推荐指数
1
解决办法
7197
查看次数

如何检查rails功能测试中是否显示文本?

我目前正在为我的控制器编写功能测试,我想检查是否有线路

这是一条测试线

出现在我的页面上.

我试过用

assert_select "p" do
  assert_select "this is the test line"
end
Run Code Online (Sandbox Code Playgroud)

但我觉得这条线路有问题.

在rails 3版本中执行此操作的最佳方法是什么?

testing ruby-on-rails functional-testing

4
推荐指数
2
解决办法
2624
查看次数

工厂女孩特质

在尝试编写rSpec测试时,我对如何生成具有关联的FactoryGirl记录有些困惑。

基本上,我有一个Quiz模型和一个Question模型。它们通过HABTM关联进行关联。

这是我的Quiz工厂:

FactoryGirl.define do
  factory :quiz do
    description 'Test'

    # after(:create) { |quiz| quiz.create_sample_questions }

    # trait :with_questions do
    #   after :create do |quiz|
    #     5.times do |q|
    #       quiz.questions << FactoryGirl.create(:question, :with_answers)
    #     end
    #   end
    # end
  end
end
Run Code Online (Sandbox Code Playgroud)

最好在这里创建一个特征,然后为测验创建示例问题吗?还是应该使用after create方法来做到这一点?

两者似乎都不起作用,我的特质似乎也没有引发问题。

谢谢!

ruby-on-rails functional-testing factory-bot

4
推荐指数
2
解决办法
5431
查看次数

功能测试可以替换小项目中的单元测试

我正在开发一个新的小项目.我理解实施自动化测试以提高质量和可维护性的重要性.但是如果在小型应用程序中功能测试就足够了,我会徘徊.对我的所有功能真的有必要实施单元测试吗?功能测试不保证小型应用程序的质量吗?

testing tdd unit-testing functional-testing

4
推荐指数
1
解决办法
426
查看次数

如何在PHPUnit(Symfony2)中单击按钮

,我正在写一个功能测试,我想知道如何简单地点击一个按钮,我有一个隐藏的表单,在按钮点击后显示

我尝试像这样进行正常点击:

$button  = $crawler->filter('button:contains("Add")');
$crawler = $client->click($button);
Run Code Online (Sandbox Code Playgroud)

但似乎click()函数采用链接对象而不是Crawler对象.

我怎么能这样做?

phpunit click button functional-testing symfony

4
推荐指数
1
解决办法
6161
查看次数

具有函数式编程的Express.js服务器(纯路由)

我的目标是能够为Express.js服务器编写纯路由.这甚至可能吗?

为了访问数据库和我知道的东西,我可以使用神话般的Futuremonad保持纯净,但路线渲染本身怎么样?

我发现的最大困难之一是路线可能以不同的方式结束,例如:

  • 重定向
  • 模板渲染
  • 错误返回
  • 杰森回归
  • 文件返回

使用Futuremonad,我可以处理错误和成功案例,但之后的成功案例没有更多的粒度.

有没有办法为Express.js编写纯粹且完全可测试的路由?

javascript functional-programming functional-testing node.js express

4
推荐指数
2
解决办法
1527
查看次数