小编Igo*_*vić的帖子

Symfony web测试用例JSON

如何在API中再次运行webtestcase?有关功能测试的默认指南仅提供以下命令:

$client = static::createClient();
$crawler = $client->request('GET', '/some-url');
Run Code Online (Sandbox Code Playgroud)

Crawler类是一个DOM爬虫.我检查了FrameworkBundle\Client类的引用,但是找不到允许我发出返回原始Response的请求的方法.至少这样,我将能够json_decode输出并进行我的测试.

我可以用什么来实现这个目标?

json functional-testing symfony

14
推荐指数
2
解决办法
5746
查看次数

Codeception Cept测试_bootstrap变量

Codeception默认_bootstrap.php文件状态:

<?php
// Here you can initialize variables that will be available to your tests
Run Code Online (Sandbox Code Playgroud)

所以我想在其中初始化一个变量:

<?php

$a = 5;
Run Code Online (Sandbox Code Playgroud)

但是,当我使用它时SomeAcceptanceCept:

<?php
// ....
$I->fillField('description', $a);
Run Code Online (Sandbox Code Playgroud)

我明白了: ErrorException: Undefined variable: a

我做var_dump_bootstrap.php,它确实在验收测试之前运行了一次,但是我的测试中没有变量.

我似乎无法找到任何关于此的文档.

我实际上是在尝试初始化Faker实例以在我的测试中使用.

codeception

12
推荐指数
1
解决办法
3259
查看次数

Dart单元测试依赖于html的库中的类

我有一个使用的库,CanvasElement因此依赖于它dart:html.现在我正在尝试为同一个库编写单元测试.但是,尝试运行它时出现以下错误:

The built-in library 'dart:html' is not available on the stand-alone VM.
Run Code Online (Sandbox Code Playgroud)

以下是我的测试文件的样子:

library PiflexUmlTest;

import 'package:PiflexUml/lib.dart';
import 'package:unittest/unittest.dart';

part 'src/geometry/vector_test.dart';

main () {
  testVector();
}
Run Code Online (Sandbox Code Playgroud)

我知道它失败了,因为lib.dart文件中的库本身有一行说明:

library PiflexUml;
// ....
import 'dart:html';

part "blahblah.dart";
part "something_else.dart"
// ....
Run Code Online (Sandbox Code Playgroud)

尽管库本身依赖于它,但我并不是要尝试测试与HTML有关的类.

我的解决方案是什么?有没有办法只导入我想测试的类而不导入整个lib?或者我是否必须将我的lib拆分为依赖于html的部分和非HTML依赖部分?

unit-testing dart

7
推荐指数
1
解决办法
1370
查看次数

rails_admin 处理外键故障

我有一个使用 rails_admin gem 和 MySql 数据库的 Rails4 应用程序。

我有一个User模型,其中has_many Job s 。现在,在 rails_admin 仪表板中,用户可以正常删除,除非它有一些Jobs。在这种情况下,外键失败,因为没有dependent: :destroy定义关系。这是预期行为

但是,不是收到“无法删除或更新父行:外键约束失败”错误,我想显示一条很好的消息:“如果用户有工作,则无法删除它”。

有没有一种优雅的方法可以在rails_admin不进行自定义操作的情况下实现这一目标?

ruby-on-rails rails-admin

7
推荐指数
1
解决办法
353
查看次数

应该匹配自定义关系名称的匹配器

如何使用shoulda匹配器测试此ActiveRecord关系?

楷模

class User < ActiveRecord::Base
  has_many :articles
end

class Article < ActiveRecord::Base
  belongs_to :author, class_name: 'User'
end
Run Code Online (Sandbox Code Playgroud)

测试

describe User do
  it { should have_many(:articles) }
end
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

1) User should have many articles
     Failure/Error: it { should have_many(:articles) }
       Expected User to have a has_many association called articles (Article does not have a user_id foreign key.)
     # ./spec/models/user_spec.rb:4:in `block (2 levels) in <top (required)>'
Run Code Online (Sandbox Code Playgroud)

所以它显然希望关系字段user_id因为User类名而被命名.我希望有一些测试方法可以用来覆盖这种期望

it { should have_many(:articles).as(:owner) }
Run Code Online (Sandbox Code Playgroud)

但我找不到类似的东西.我错过了一些明显的东西吗

rspec ruby-on-rails shoulda

5
推荐指数
1
解决办法
1219
查看次数

如何在Symfony2中检查对象是否有方法

我想使用相同的代码来管理多个实体,但它可能会有所不同,具体取决于它是否有某种方法.这就是为什么我需要检查对象是否有名称的方法.有没有办法做到这一点?

php symfony

3
推荐指数
2
解决办法
3093
查看次数

NGinx袜子连接Bad Gateway

我在设置Nginx以与Puma服务器一起使用Rails 4应用程序时遇到问题.

问题似乎是在我的Nginx配置中,因为我不断收到502 Bad Gateway错误,错误日志指出如下:

*1 connect() to unix:///srv/vhosts/rumysitename/www/mysitename/tmp/mysitename.sock failed 
(2: No such file or directory) while connecting to upstream, client: XX.XXX.XX.XXX, 
server: mysitename.com, request: "GET /favicon.ico HTTP/1.1", upstream: 
"http://unix:///srv/vhosts/rumysitename/www/mysitename/tmp/mysitename.sock:/favicon.ico", 
host: "mysitename.com"
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的Nginx站点配置:

upstream mysitename {
  server unix:///srv/vhosts/rumysitename/www/mysitename/tmp/mysitename.sock;
}

server {
  listen 80;
  server_name mysitename.com;
  root /srv/vhosts/rumysitename/www/mysitename/public;

  location / {
    proxy_pass http://mysitename;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }

  location ~* ^/assets/ {
    # Per RFC2616 - 1 year maximum expiry
    expires 1y;
    add_header Cache-Control public;

    # Some …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails nginx puma

2
推荐指数
1
解决办法
3376
查看次数