标签: assertions

JMeter 断言结果

我正在运行 JSR223 断言,其中使用 groovy 将预期响应与实际响应进行比较。如果它们不相等,则断言失败。这是代码

import groovy.json.JsonSlurper;

JsonSlurper slurper = new JsonSlurper();
boolean set_assertion = true;

def expected_response = slurper.parseText("<JSON response goes here>");
def actual_response = slurper.parseText(prev.getResponseDataAsString());

if (expected_response != actual_response)
{
    set_assertion = false;
    log.error("expected_response != actual_response");
    assert set_assertion == true;
    SampleResult.setSuccessful(false);  
}
Run Code Online (Sandbox Code Playgroud)

现在,断言确实失败了。但我认为它失败了,因为我在日志中收到内部错误。这是我的断言结果。 断言结果 这是日志

ERROR - jmeter.threads.JMeterThread: Error processing Assertion  Assertion failed: 

assert set_assertion == true
       |             |
       false         false

    at org.codehaus.groovy.runtime.InvokerHelper.assertFailed(InvokerHelper.java:402)
    at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.assertFailed(ScriptBytecodeAdapter.java:650)
    at Script48.run(Script48.groovy:16)
    at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:352)
    at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:153)
    at javax.script.AbstractScriptEngine.eval(Unknown Source)
    at org.apache.jmeter.util.JSR223TestElement.processFileOrScript(JSR223TestElement.java:206)
    at org.apache.jmeter.assertions.JSR223Assertion.getResult(JSR223Assertion.java:47) …
Run Code Online (Sandbox Code Playgroud)

groovy jmeter assertions jsr223

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

为什么FlexUnit中没有assertError()函数?

似乎大多数XUnit测试框架都提供了断言,当你想要声明某个给定的操作会抛出异常时(或AS3用语中的错误.)是否有一些"标准"方法可以忽略这一点,会解释FlexUnit中是否缺少assertError()断言?

我知道如何实现这样的事情,我可能会把它添加到我的FlexUnit(开源!),但这似乎是一个明显的遗漏,我想知道我是不是做错了.

有人对此有何看法?

apache-flex error-handling flexunit actionscript-3 assertions

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

断言和单元测试不兼容吗?

我有一些问题涉及从assert.h测试包含断言宏的一些函数的事实.

如果断言失败,测试也会失败.这给我留下了一些永远不会起作用的测试用例.

例如,一个函数而不是指示失败(返回false或类似的东西)断言.

有没有解决方案(包含断言的单元测试函数)?

c c++ unit-testing assertions

4
推荐指数
3
解决办法
6832
查看次数

fprintf调试断言失败

如果我手动启动它,我有一个正确运行的程序.但是,如果我尝试添加注册表项以在启动期间自动启动它,我会收到此错误:

Debug assertion failed (str!=null) fprintf.c line:55
Run Code Online (Sandbox Code Playgroud)

在发生任何事情之前我试图添加Sleep(20000),但是我得到了同样的错误.

这是代码:

main()
{
    FILE* filetowrite;
    filetowrite = fopen("textfile.txt", "a+");

    writefunction(filetowrite);
}

int writefunction(FILE* filetowrite) {

    fprintf(filetowrite, "%s", "\n\n");
    ...
}
Run Code Online (Sandbox Code Playgroud)

我也试过传递文件名char*并打开它writefunction(),但我得到了同样的错误.

c++ printf fopen assertions

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

在蚂蚁中启用断言

我想启用断言功能ant.在我的蚂蚁中build.xml,我把以下内容,试图启用断言.

<project> ... <assertions> <enable/> </assertions> </project>

我把断言放在一个junit文件中,该文件只包含一个函数,

testAssertions() {
  assert false;
}
Run Code Online (Sandbox Code Playgroud)

在运行时ant,不会抛出断言失败..如何在此设置中启用断言?

java ant junit assert assertions

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

在Java中,如果我的程序在没有-ea的情况下运行,我怎么会失败?

有没有办法检查程序是否已启动,-ea以便我可以退出/失败,如果不是?如果断言失败,我想知道它.因此,我认为没有这个就启动是一个严重的错误.

java assertions

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

选择在Dafny中排序

我正在尝试在Dafny中实现选择排序.

sortedFindMin函数确实有效,但selectionsort它本身包含Dafny无法证明的断言,即使它们是正确的.

这是我的计划:

predicate sorted(a:array<int>,i:int)
  requires a != null;
  requires 0 <= i <= a.Length;
  reads a;
{
  forall k :: 0 < k < i ==> a[k-1] < a[k]
}
method FindMin(a:array<int>,i:int) returns(m:int)
  requires a != null;
  requires 0 <= i < a.Length;
  ensures i <= m < a.Length;
  ensures forall k :: i <= k < a.Length ==> a[k] >= a[m];
{
  var j := i;
  m := i;
  while(j < a.Length) …
Run Code Online (Sandbox Code Playgroud)

sorting assertions selection-sort dafny

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

量角器 - toBe(真值)和toBeTruthy()之间的区别

正如标题所说 - (例如)之间存在差异

 expect(element).isDisplayed().toBeTruthy();
Run Code Online (Sandbox Code Playgroud)

 expect(element).isDisplayed().toBe(truth);
Run Code Online (Sandbox Code Playgroud)

如果有,那有什么区别?

谢谢

assertions angularjs-e2e protractor

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

为什么assert_select不接受参数rails 4.2?

我正在进行rails集成测试,有人编写了当时正在通过的测试,但现在他们正在发出警告

这是我正在处理的代码行

assert_select "a[href=/monster_xml_users/#{user_xml.id}][data-method=delete]", I18n.t('revoke_access')
Run Code Online (Sandbox Code Playgroud)

但现在它正在发出警告

无效的CSS选择器,Assertion没有运行

但如果我像这样写它

 assert_select "a", I18n.t('revoke_access')
        assert_select "a" do
          assert_select "[href=?]","/monster_xml_users/#{user_xml.id}"
          assert_select "[data-method=?]", "delete"
        end
Run Code Online (Sandbox Code Playgroud)

然后它没有发出警告,测试通过,这是正确的.但我无法弄清楚为什么以前的断言现在失败了?在Rails 4.2中是否已更改assert_select语法?

integration-testing ruby-on-rails assertions ruby-on-rails-4

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

只有在测试失败时,c ++ gtest才会在测试结束时输出其他信息

我想做这样的事情:

TEST(MyTestFixture, printAfterExpectationFailure)
{
  const string request("bring me tea");

  const string&& response = sendRequestAndGetResponse(request);

  checkResponseWithExpectarions1(response);
  checkResponseWithExpectarions2(response);
  checkResponseWithExpectarions3(response);
  checkResponseWithExpectarions4(response);

  if (anyOfExpectsFailed())
      cout << "Request: " << request << "\nresponse: " << response << endl;
}

TEST(MyTestFixture, printAfterAssertionFailure)
{
  const string request("bring me tea");

  const string&& response = sendRequestAndGetResponse(request);

  doWhenFailure([&request, &response]()
  {
      cout << "Request: " << request << "\nresponse: " << response << endl;
  });

  checkResponseWithAssertion1(response);
  checkResponseWithAssertion2(response);
  checkResponseWithAssertion3(response);
  checkResponseWithAssertion4(response);
}
Run Code Online (Sandbox Code Playgroud)

我仅在期望/断言失败时才打印一些其他信息。

我知道我可以做这样的事情:

#define MY_ASSERT_EQ(lhr, rhs, message) if(lhs != rhs) ASSERT_EQ(lhs, rhs) …
Run Code Online (Sandbox Code Playgroud)

c++ assert expectations googletest assertions

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