assert相关内容

Java中的断言关键字

你使用 assert 关键字还是抛出一些验证运行时异常?它给你带来什么好处,或者你为什么认为它不值得使用? 解决方案 Assert 会抛出运行时错误 (AssertionError) 如果其条件为假.断言为您提供了一种简化的方式来记录、检查和强制执行代码的正确性标准.好处是用于定义和操作这些正确性条件的语言级挂钩.如果您希望启用或禁用它们(关于这是否是一个好主意存在争论),您可以从 JVM ..
发布时间:2021-11-30 11:22:37 Java开发

如何在 Python 中处理 AssertionError 并找出它发生在哪一行或哪条语句上?

我想处理 AssertionError 以向用户隐藏不需要的堆栈跟踪部分,并打印一条消息,说明错误发生的原因以及用户应该如何处理.> 有什么方法可以找出 assert 在 except 块中的哪一行或哪条语句失败? 尝试:断言真断言 7 == 7断言 1 == 2# 还有更多这样的语句除了断言错误:打印“休斯顿,我们遇到了问题."打印打印'在线出错????在声明中???"退出(1) 我不想把 ..
发布时间:2021-11-30 11:22:28 Python

TestNG 显示 0 测试运行

我正在尝试使用 testNG 执行我的测试脚本并尝试以下代码,但在控制台中显示 0 表示运行、失败和跳过.因此,我无法验证脚本中的结果. Java: package com.demoaut.newtours.testcases;导入 org.testng.Assert;导入 org.testng.annotations.Test;//导入junit.framework.Assert;公共类 ..
发布时间:2021-11-30 11:22:20 Java开发

如何检查构造函数参数并抛出异常或在 Scala 的默认构造函数中进行断言?

我想检查构造函数参数并拒绝构造抛出 IllegalArgumentException 以防参数集无效(值不符合预期的约束).如何在 Scala 中编写代码? 解决方案 在 Scala 中,类的整个主体是您的主要构造函数,因此您可以在那里添加验证逻辑. scala>类 Foo(val i: Int) {|如果(我<0)|throw new IllegalArgumentException( ..
发布时间:2021-11-30 11:22:03 其他开发

在单元测试中是否应该覆盖等于方法来断言对象相等?

假设我们通过断言结果对象的所有属性与预期结果对象的属性相等来测试方法的结果.我们是否应该实现 equals 方法并使用 Assert.AreEqual(expectedResult, actualResult)... 但是 equals 在生产代码中可能意味着不同的东西. 最佳实践是什么? 通过覆盖的equals方法断言对象的相等性 或 断言所有属性的相等 解决方案 ..
发布时间:2021-11-30 11:21:56 其他开发

在 Java 中使用断言是一种好习惯吗?

我知道关键字 assert 存在于 java 中.但是我不记得看到使用它的代码.可能我正在使用异常并登录我可以使用它的地方.在 java 中使用 assert 关键字是一个好习惯吗? 编辑:我知道一般来说断言是一种很好的做法.我的问题是,更准确地说,如果在 Java 中,断言的 BKM 使用 assert 关键字而不是使用异常、日志记录和其他技术. 解决方案 不使用断言的主要原因是默 ..
发布时间:2021-11-30 11:21:48 Java开发

在断言中添加自定义消息?

有没有办法添加或编辑assert抛出的消息?我想使用类似 assert(a == b, "A 必须等于 B"); 然后,编译器添加line、time等等... 有可能吗? 解决方案 我见过的一个技巧是使用 && 操作符.由于指针在非空时“为真",您可以在不改变条件的情况下执行以下操作: assert(a == b && "A 不等于 B"); 由于 assert 显示失败的条 ..
发布时间:2021-11-30 11:21:32 C/C++开发

断言是邪恶的吗?

Go 语言创建者编写: Go 不提供断言.它们无疑很方便,但我们的经验是程序员将它们用作拐杖,以避免考虑正确的错误处理和报告.正确的错误处理意味着服务器在非致命错误后继续运行而不是崩溃.正确的错误报告意味着错误是直接的、切中要害的,使程序员免于解释大的崩溃跟踪.当看到错误的程序员不熟悉代码时,精确的错误尤其重要. 您对此有何看法? 解决方案 不,assert 没有任何问题,只要 ..
发布时间:2021-11-30 11:21:14 C/C++开发

JavaScript 中的“断言"是什么?

assert 在 JavaScript 中是什么意思? 我见过类似的东西: assert(function1() && function2() && function3(), "some text"); 并且想知道 assert() 方法的作用. 解决方案 JavaScript 本身没有标准的assert.也许你正在使用一些提供一个的库;例如,如果您使用的是 Node.js,那么 ..
发布时间:2021-11-30 11:20:55 前端开发

Python:断言该变量是实例方法?

如何检查变量是否是实例方法?我使用的是 python 2.5. 像这样: 类测试:定义方法(自我):经过断言 is_instance_method(Test().method) 解决方案 inspect.ismmethod 是你想知道你是否确实有一个方法,而不仅仅是你可以调用的东西. 导入检查def foo(): 通过类测试(对象):def 方法(自我):通过打印检查方法(foo)# ..
发布时间:2021-11-30 11:20:44 Python

2 个 JUnit 断言类之间的差异

JUnit 框架包含 2 个 Assert 类(显然在不同的包中)并且每个类的方法看起来非常相似.谁能解释一下这是为什么? 我所指的类是:junit.framework.Assert 和 org.junit.Assert. 解决方案 (JUnit 3 的)旧方法是通过扩展 junit.framework.TestCase 来标记测试类.继承的 junit.framework.Asse ..
发布时间:2021-11-30 11:20:35 Java开发

我应该在我的 PHP 代码中使用断言吗?

一位同事在我们的库中多次添加了 assert 命令,在这些地方我会使用 if 语句并抛出异常.(在此之前我什至从未听说过 assert.)以下是他如何使用它的示例: assert('isset($this->records);/* 在调用 this 之前必须设置记录.*/'); 我会这样做: if (!isset($this->records)) {throw new Exception(' ..
发布时间:2021-11-30 11:20:25 PHP

断言与 JUnit 断言

今天我看到了一个 JUnit 测试用例,其中包含一个 java 断言而不是 JUnit 断言——偏爱一个断言是否有明显的优点或缺点? 解决方案 在 JUnit4 中,JUnit assert 抛出的异常(实际上是 Error)与 java assert 关键字(AssertionError),因此它与 assertTrue 完全相同,除了堆栈跟踪之外,您无法区分. 话虽如此,断言必须 ..
发布时间:2021-11-30 11:20:17 Java开发

如何完全禁用对 assert() 的调用?

我的代码充满了对assert(condition)的调用.在调试版本中,我使用 g++ -g 触发我的断言.出乎意料的是,在我的发布版本中也触发了相同的断言,即没有 -g 选项编译的版本. 如何在编译时完全禁用我的断言?我是否应该在我生成的任何构建中明确定义 NDEBUG,而不管它们是调试、发布还是其他任何内容? 解决方案 您必须 #define NDEBUG(或使用标志 -DNDE ..
发布时间:2021-11-30 11:20:07 C/C++开发

在单元测试中有多个断言是不好的做法吗?

在一个单元测试中有多个断言是不好的做法吗?重要吗? 解决方案 有时我每个测试用例只有一个 assert,但我认为更多时候我有几个 assert声明. 我见过@Arkain 所回避的案例,其中一段非常大的代码有一个单元测试套件,只有几个测试用例,并且它们都被标记为testCase1,testCase2 等,每个测试用例有数百个断言.更好的是,每个条件通常取决于先前执行的副作用.每当构建 ..
发布时间:2021-11-30 11:19:58 其他开发

如何检查(在运行时)一个类是否是另一个类的子类?

假设我有一个套装和四个子套装:Heart、Spade、Diamond、Club. 类套装:...等级心(套装):...黑桃类(套装):...钻石级(套装):...班级俱乐部(套装):... 我有一个方法,它接收西装作为参数,它是一个类对象,而不是一个实例.更准确地说,它可能只接收四个值之一:Heart、Spade、Diamond、Club.我怎样才能做出保证这样事情的断言?类似的东西: de ..
发布时间:2021-11-30 11:19:49 Python