Questions tagged «assert»

断言是一条语句,当它的评估结果为false时,它将中止程序。断言通常用于调试和永远不会发生的情况。

30
您如何断言在JUnit 4测试中抛出了某个异常?
如何惯用JUnit4来测试某些代码引发异常? 虽然我当然可以做这样的事情: @Test public void testFooThrowsIndexOutOfBoundsException() { boolean thrown = false; try { foo.doStuff(); } catch (IndexOutOfBoundsException e) { thrown = true; } assertTrue(thrown); } 我记得在这种情况下,有一个批注或一个Assert.xyz或不那么杂乱无章的JUnit东西。
1998 java  exception  junit  junit4  assert 



28
我的程序崩溃时如何自动生成stacktrace
我正在使用GCC编译器在Linux上工作。当我的C ++程序崩溃时,我希望它自动生成一个堆栈跟踪。 我的程序由许多不同的用户运行,并且还可以在Linux,Windows和Macintosh上运行(所有版本都使用进行编译gcc)。 我希望我的程序能够在崩溃时生成堆栈跟踪,并在用户下次运行时生成一个堆栈跟踪,它将询问他们是否可以将堆栈跟踪发送给我,这样我就可以找到问题所在。我可以处理向我发送信息,但是我不知道如何生成跟踪字符串。有任何想法吗?
590 c++  gcc  crash  stack-trace  assert 

14
Python断言的最佳实践
assert作为标准代码的一部分而不是仅用于调试目的,是否存在性能或代码维护问题? 是 assert x >= 0, 'x is less than zero' 胜过或坏于 if x < 0: raise Exception, 'x is less than zero' 另外,是否有任何方法可以设置业务规则,例如if x < 0 raise error始终不进行检查,try/except/finally因此在整个代码中的任何时候都x小于0时,都会引发错误,例如assert x < 0在函数的开始处,函数内的任何位置进行设置哪里x变得小于0引发异常?

19
如何检查对象是列表还是元组(而不是字符串)?
这就是我通常做,以确定输入是一个list/ tuple-但不是str。因为很多时候我偶然发现了一个错误,即一个函数str错误地传递了一个对象,而目标函数确实for x in lst假定这lst实际上是一个listor tuple。 assert isinstance(lst, (list, tuple)) 我的问题是:是否有更好的方法来实现这一目标?
443 python  list  types  assert 

11
为什么JUnit不提供assertNotEquals方法?
有人知道为什么JUnit 4提供 assertEquals(foo,bar)但不assertNotEqual(foo,bar)方法吗? 它提供了assertNotSame(对应于assertSame)和assertFalse(对应于assertTrue),因此它们似乎没有包含在内就显得很奇怪assertNotEqual。 顺便说一句,我知道JUnit插件提供了我正在寻找的方法。我只是出于好奇而问。
429 java  junit  assert 





25
如何在记录器中对消息执行JUnit断言
我有一些正在测试的代码,它们呼吁Java记录器报告其状态。在JUnit测试代码中,我想验证此记录器中是否输入了正确的日志条目。遵循以下内容: methodUnderTest(bool x){ if(x) logger.info("x happened") } @Test tester(){ // perhaps setup a logger first. methodUnderTest(true); assertXXXXXX(loggedLevel(),Level.INFO); } 我想可以使用专门改编的记录器(或处理程序或格式化程序)来完成此操作,但我希望重用已存在的解决方案。(而且,老实说,我不清楚如何从记录器中获取logRecord,但是假设这是可能的。)
205 java  logging  junit  assert 

21
断言是邪恶的吗?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 该Go语言的创造者写的: Go不提供断言。它们无疑是很方便的,但是我们的经验是程序员将它们用作拐杖,以避免考虑适当的错误处理和报告。正确的错误处理意味着服务器在发生非严重错误后仍可继续运行,而不会崩溃。正确的错误报告意味着错误是直接的并指向重点,从而使程序员不必解释大型崩溃跟踪。当程序员看到的错误不熟悉代码时,精确的错误尤为重要。 您对此有何看法?
199 c++  c  error-handling  go  assert 

9
如何(在运行时)检查一个类是否是另一个类的子类?
假设我有一个西服类和西服的四个子类:Heart,Spade,Diamond,Club。 class Suit: ... class Heart(Suit): ... class Spade(Suit): ... class Diamond(Suit): ... class Club(Suit): ... 我有一个方法,该方法接收西装作为参数,这是一个类对象,而不是实例。更准确地说,它可能仅接收以下四个值之一:Heart,Spade,Diamond,Club。我该如何做出保证这种事情的断言?就像是: def my_method(suit): assert(suit subclass of Suit) ... 我正在使用Python 3。
195 python  subclass  assert 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.