标签: assert

在向量上使用 assert_that 会引发错误

我正在尝试检查向量中的每个值是否小于或等于 2。 assert_that 似乎对此有问题(可能是由于我缺乏理解)。有人能告诉我这里有什么问题吗?

> require(assertthat)
> x<-c(1,2,1.5)
> assert_that(x<=2) #should return true
Error: assert_that: assertion has length greater than 1
> y<-c(1,2,1.5,3,3)
> assert_that(y<=2) #should return false
Error: assert_that: assertion has length greater than 1
> stopifnot(x<=2)
Run Code Online (Sandbox Code Playgroud)

assert r

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

断言 JSON 响应

我有一个 python API 调用,服务器响应作为 JSON 输出传给我。

例如,我如何断言此输出中的“状态”为 0:

def test_case_connection():
    req = requests.get_simple(url=Server.MY_SERVER, params=my_vars)
    assert req["status"]="0"
Run Code Online (Sandbox Code Playgroud)

是我试过的。

响应看起来像:

{"status" : 0, ......}
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

TypeError: 'Response' object has no attribute '__getitem__'
Run Code Online (Sandbox Code Playgroud)

python json assert response

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

断言对象上存在可枚举属性

是否可以使用核心 Node.js Assert 模块来检查对象上是否存在属性,即使该属性为假?

https://nodejs.org/api/assert.html

通常我们可以通过运行来检查对象是否具有属性

var assert = require('assert');
assert(obj.prop);
Run Code Online (Sandbox Code Playgroud)

但如果 obj.prop 存在但为假,这将不起作用。我更喜欢使用 Node.js assert 模块,宁愿避免使用其他解决方案,谢谢。

也许最好的方法是:

    var assert = require('assert');
    assert(prop in obj);
Run Code Online (Sandbox Code Playgroud)

javascript assert node.js

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

使用什么异常来防止一个方法被多次调用?

我有一个在对象的生命周期内只应调用一次的方法。为了确保是这种情况,该方法在 Object 中设置了一个布尔标志,true以便稍后检查该方法是否已经运行。IllegalArgumentException如果在单个对象的生命周期内第二次调用此方法,我目前正在抛出(带有描述性消息),但这对我来说感觉不太正确,因为问题实际上不在于参数本身。有没有比 an 更好的例外IllegalArgumentException

assert在这种情况下我选择不使用语句,因为类和方法都是在包外可见的,所以问题可能是由我的包外的代码引起的。这是正确的想法吗?

java assert exception

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

assertThat() 总是成功的

我有一个在应该时不会失败的测试:

import static org.assertj.core.api.Assertions.assertThat;

@Test
public void testTransactionResponse() {
    String id= "004";
    long amount= 5000001L;
    TransactionResource transactionResource = buildTransactionResource(amount, "EUR");
    System.out.println(transactionController.create(id, transactionResource).getStatusCode()); //the output is 403
    assertThat(transactionController.create(id, transactionResource).getStatusCode().equals(200)); //is true and test doesn't fail
}
Run Code Online (Sandbox Code Playgroud)

这怎么可能?

junit assert assertj

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

什么标准调用实际上是宏

在这里问了一个问题关于assert哪个在标准中作为宏实现,而不是函数。

这给我带来了一个问题,因为assert它采用参数的方式似乎是一个函数:assert(true)因此我试图将它用作:std::assert(true)当然是一个不起作用的宏。

我的问题是:标准库是否提供了任何其他宏,这些宏会显示为带参数的函数?

c++ parameters macros assert namespaces

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

assert.throws 说 =&gt; 缺少预期的异常

我正在使用这段代码:

       assert.throws(async () => {
            patientSubscriber = await PatientSubscriber.create({
                isSubscribed: true,
                patient: patient._id,
                subscriber: user._id
            });
        },{
             message: /foo/
        });
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到了这个:

断言错误 [ERR_ASSERTION]:缺少预期的异常。

断言 API 是:https : //nodejs.org/api/assert.html#assert_assert_throws_fn_error_message

也许我遇到了这个问题? https://github.com/nodejs/node-v0.x-archive/issues/8368

有谁知道那个错误是关于什么的?

assert asynchronous node.js

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

如何在 Laravel 中显示断言错误?

我希望我的 Laravel 应用程序在开发过程中在浏览器中输出断言错误。尽管我在 Laravel 代码中放置了一些肯定会失败的断言,但我从未在浏览器中看到任何输出错误?

Laravel 中是否有可以强制显示这些错误的断言报告配置?

在生产中,我希望断言失败调用回调方法并将错误通过电子邮件发送给我。

php assert assertion laravel

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

Flutter 在编译发布时会删除调试模式代码吗?

我想知道将密码直接放在如下所示的 Dart 代码中是否安全。Flutter 在编译发布时会删除代码吗?当然我想确保代码不能被反编译,以便可以提取用户名和密码。

bool get isInDebugMode {
  bool inDebugMode = false;
  assert(inDebugMode = true);
  return inDebugMode;
}

if(inDebugMode){
  emailController.text = 'random@email.com';
  passwordController.text = 'secret';
}
Run Code Online (Sandbox Code Playgroud)

debugging production assert dart flutter

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

断言@propertyname.setter 生成的异常

源代码

我有一些代码要求我调用属性设置器来测试类的锁定功能是否正常工作(类的某些功能是async,要求在执行期间设置挂锁布尔值)。RuntimeError如果已为实例设置了锁,则已写入设置器以引发 a 。

这是代码:

    @filename.setter
    def filename(self, value):
        if not self.__padlock:
            self.__filename = value
        else:
            self.__events.on_error("data_store is locked.  you should be awaiting safe_unlock if you wish to "
                                  "change the source.")
Run Code Online (Sandbox Code Playgroud)

正如你在这里看到的,如果self.__padlockTrue,aRuntimeError被提升。尝试使用 python 断言 setter 时会出现问题unittest

问题

似乎unittest缺乏断言属性设置器是否引发异常所需的功能。

尝试使用assertRaises显然不起作用:

    # Non-working concept
    self.assertRaises(RuntimeError, my_object.filename, "testfile.txt")
Run Code Online (Sandbox Code Playgroud)

问题

如何断言类的属性设置器将在 pythonunittest.TestCase方法中引发给定的异常?

python unit-testing assert properties testcase

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