assert相关内容

在 Linux 内核中使用断言

我对 Linux 中的 assert() 有疑问:我可以在内核中使用它吗? 如果不是,例如我不想输入 NULL 指针,您通常使用什么技术? 解决方案 对应的内核宏为 BUG_ON 和 WARN_ON.前者用于当您想让内核崩溃并关闭系统时(即,不可恢复的错误).后者用于当您想将某些内容记录到内核日志时(可通过 dmesg 查看). 正如@Michael 所说,在内核中,您需要验证 ..
发布时间:2021-11-30 11:41:17 服务器开发

PHPUnit:assertInstanceOf() 不起作用

我需要检查一个变量是否是 User 类型的对象.用户是我的类 $user 我的对象 $this->assertInstanceOf($user,User); 这不起作用,我使用了未定义的常量用户 - 假设为“用户" 预先感谢您的帮助 解决方案 http://apigen.juzna.cz/doc/sebastianbergmann/phpunit/function-assertI ..
发布时间:2021-11-30 11:40:45 PHP

rspec - 为什么当它们相同时,这个属性比较使用 assert_equal 会失败,仅在 ubuntu 上?

两个测试都失败了 - 但仅限于 Ubuntu(12) 而不是我的(新)Mac. 失败的两个是 Active Record 对象属性比较,但我努力比较它们,例如在命令行中生成散列并将属性粘贴进去,比较表明它们是相同的. 一个真正的难题,因为我们拥有包含数百个测试的广泛测试套件.Rails 3.2.8,rspec 2.11 失败/错误:assert_equal @iep_service. ..
发布时间:2021-11-30 11:39:27 其他开发

断言(假)与运行时异常?

我正在阅读 XWalkUIClientInternal 并且我遇到了以下代码: 开关(类型){案例 JAVASCRIPT_ALERT:返回 onJsAlert(view, url, message, result);案例 JAVASCRIPT_CONFIRM:返回 onJsConfirm(view, url, message, result);案例 JAVASCRIPT_PROMPT:返回 o ..
发布时间:2021-11-30 11:38:39 Java开发

xUnit 等效于 MSTest 的 Assert.Inconclusive

以下 MSTest 代码的 xUnit 等效项是什么: Assert.Inconclusive("Reason"); 这给出了黄色的测试结果,而不是通常的绿色或红色.我想断言由于某些条件而无法运行该测试,并且应在满足这些条件后重新运行该测试. 解决方案 一种方法是在 Fact 或 Theory 中使用 Skip 参数> 属性. [Fact(Skip = "它还没有准备好")]publ ..
发布时间:2021-11-30 11:37:28 其他开发

为什么断言只是终止为 iPhone 编译的程序?

我正在调试一个大量使用 assert() 的 iPhone 应用程序(Xcode、Objective-C++ 和设备模拟器).在某些情况下,断言失败只会终止应用程序,而不是像我预期的那样闯入调试器. 我通过实现自己的 kinda-assert 来解决以下问题: #define AssertLite(b) if(!(b)) {asm {int 3}} (省略了绒毛),但我想知道是否有人遇到 ..
发布时间:2021-11-30 11:30:50 移动开发

在 C++ 中实现断言检查的最佳方法是什么?

我的意思是,我需要做什么才能在我的代码中使用有用的断言? MFC 很简单,我只用 ASSERT(something). 什么是非 MFC 方式? 编辑:是否可以在 assert.c 而不是我的文件中停止断言中断,而不是我调用 assert() 的文件? 编辑: & 之间有什么区别?? 接受的答案:这篇文章中有很多很棒的答案,我希望我能接受不止一个答案(或者有人将它们全 ..
发布时间:2021-11-30 11:30:43 C/C++开发

Debug.Assert 与特定抛出的异常

我刚刚开始浏览 John Robbins 撰写的“调试 MS .Net 2.0 应用程序",并被他对 Debug.Assert(...) 的宣传弄糊涂了. 他指出,实施良好的断言在某种程度上存储了错误条件的状态,例如: Debug.Assert(i > 3, "i > 3", "这意味着我得到了一个错误的参数"); 现在,就我个人而言,他如此喜欢在没有实际合理的“业务逻辑"评论的情况下重 ..
发布时间:2021-11-30 11:30:32 C#/.NET

将 assert() 方法添加到 Ruby 的 Kernel 类是否是 Ruby 惯用的做法?

我通过在 Ruby 中编写与 Kent Beck 的 xUnit 等效的代码来扩展我对 Ruby 的理解.Python(由 Kent 编写)在该语言中具有一个广泛使用的 assert() 方法.红宝石没有.我认为添加它应该很容易,但内核是放置它的正确位置吗? 顺便说一句,我知道 Ruby 中存在各种 Unit 框架 - 这是学习 Ruby 习语的练习,而不是“完成某事". 解决方案 ..
发布时间:2021-11-30 11:30:24 其他开发

assert() 带有消息

我看到某处断言以下列方式与消息一起使用: assert(("message", condition)); 这似乎很好用,只是 gcc 抛出以下警告: 警告:逗号表达式的左侧操作数无效 如何停止警告? 解决方案 使用 -Wno-unused-value 停止警告;(选项 -Wall 包括 -Wunused-value). 我认为更好的是使用另一种方法,例如 assert(co ..
发布时间:2021-11-30 11:30:02 其他开发

在什么情况下我们需要包含 <cassert>?

在什么情况下我们应该包含cassert? 解决方案 总之,不要用;使用 . C++11 删除了“c...."标头不会污染全局命名空间的任何正式保证. 这从来都不是实际的保证,现在甚至都不是正式的保证. 因此,在 C++11 中,使用“c...."头文件变体不再有任何可以想象的优势,而有一个明显的缺点,即代码在一个编译器和它的版本上运行良好编译器,可能无法使用另一个编译器或 ..
发布时间:2021-11-30 11:29:54 C/C++开发

Debug.Assert 与代码契约的使用

我什么时候应该对代码契约进行 debug.assert,反之亦然?我想检查一种方法的先决条件,我很困惑选择一个而不是另一个.我有单元测试,我想测试失败场景并期待异常. 在同一方法上使用 Debug.Assert 和 Code 契约是否是一个好习惯.如果是这样,代码的编写顺序是什么? Debug.Assert(parameter!= null);Contract.Requires(param ..
发布时间:2021-11-30 11:29:47 C#/.NET

为什么断言是宏而不是函数?

我的讲师在课堂上问过我这个问题,我想知道为什么它是一个宏而不是一个函数? 解决方案 简单的解释是标准要求 assert 是一个宏,如果我们看一下 C99 标准草案(据我所知,各部分在草案C11标准中也是一样的) 部分 7.2 Diagnostics 段 2 说: assert 宏应该作为一个宏来实现,而不是作为一个实际的功能.如果宏定义被抑制以访问实际功能,行为未定义. 为什么 ..
发布时间:2021-11-30 11:29:38 其他开发

Java/JUnit - AssertTrue 与 AssertFalse

我是 Java 新手,正在关注 Eclipse Total 初学者教程.它们都非常有用,但在第 12 课中,他将 assertTrue 用于一个测试用例,将 assertFalse 用于另一个测试用例.代码如下: //将书签出到 p1 (Thomas)//检查这本书是否已成功签出到 p1 (Thomas)assertTrue("书没有正确签出", ml.checkOut(b1, p1));//如 ..
发布时间:2021-11-30 11:29:30 Java开发

带括号和不带括号的python断言

以下是四个简单的 assert 调用: >>>断言 1==2回溯(最近一次调用最后一次):文件“",第 1 行,在 ?断言错误>>>断言 1==2,“嗨"回溯(最近一次调用最后一次):文件“",第 1 行,在 ?断言错误:嗨>>>断言(1==2)回溯(最近一次调用最后一次):文件“",第 1 行,在 ?断言错误>>>断言(1==2,“嗨") 请注意 ..
发布时间:2021-11-30 11:29:20 Python

在 C++ 中使用 assert() 是不好的做法吗?

我倾向于在我的 C++ 代码中添加大量断言,以便在不影响发布版本性能的情况下更容易调试.现在,assert 是一个纯 C 宏,没有考虑 C++ 机制. 另一方面, C++ 定义了std::logic_error,它意味着在程序逻辑出现错误的情况下抛出(因此得名).抛出一个实例可能是 assert 的完美的、更 C++ 风格的替代方案. 问题在于assert 和abort 都立即终止程序而 ..
发布时间:2021-11-30 11:29:09 C/C++开发

如何在 C++ 中将 static_assert 用于 constexpr 函数参数?

我的库中有几个简短的 constexpr 函数可以执行一些简单的计算.我在运行时和编译时上下文中都使用它们. 我想在这些函数的主体中执行一些断言,但是 assert(...) 在 constexpr 函数和 static_assert 中无效(...) 不能用于检查函数参数. 示例: constexpr int getClamped(int mValue, int mMin, int ..
发布时间:2021-11-30 11:28:48 C/C++开发

需要 py.test 从 python 日志模块记录日志文件中的断言错误

需要 py.test 来记录来自 python 日志模块的日志文件中的断言错误.该测试设置了 python 日志记录模块,所有日志都按预期进行.我在整个测试中使用了断言语句.但是当遇到断言错误时,这些消息没有记录在 python 日志输出中,而是记录在命令控制台中. 有没有办法让 py.test 在测试的日志输出中记录断言错误? 现在错误在命令控制台中,但如果这些断言错误也记录为 py ..
发布时间:2021-11-30 11:28:41 Python