草庐IT

assert_eq

全部标签

java - 如何从 Scala 调用 Java 接口(interface)的 T eq(Object) 方法?

Scala定义了一个AnyRef类,它在编译后被解释为Java的Object类。然而,从语言的角度来看,AnyRef类并不完全等同于Object,因为它引入了几个新方法,例如eq(),它接受AnyRef并返回Boolean并比较引用的身份如果Java中有一个类本身定义了具有不同结果类型的eq()方法,并且该类实现的接口(interface)也具有此方法:publicinterfaceI{Stringeq(Objectthat);}publicclassAimplementsI{publicStringeq(Objectthat){return"";}}如果通过接口(interface)

java - 在 Java 生产代码中使用 Junit Assert API 可以吗

我想对我的方法参数进行空检查,比如参数不应该为空。可以在我的Java代码中使用这样的assertNotNull("Mapshouldnotbenull",filePaths);吗?我尽量避免if(filePaths==null){thrownewIllegalArgumentException("Mapscannotbenull");}只是为了让我的代码远离所有这些空检查。我知道我可以编写自己的Validator类并重载了notNull方法,但是是否存在一些现有的且易于使用的东西而不是重新发明轮子。我看到使用JUnitAssert的唯一缺点是它抛出AssertionError而不是Il

java - Assertion失败后如何继续执行

我正在使用带有eclipse和TestNG框架的Java的SeleniumRC。我有以下代码片段:assertTrue(selenium.isTextPresent("PleaseenterEmailID"));assertTrue(selenium.isTextPresent("PleaseenterPassword"));第一个断言失败并停止执行。但我想继续进一步的代码片段。 最佳答案 我建议你使用软断言,它在TestNg中原生提供packageautomation.tests;importorg.testng.asserts.

java - EasyMock中 'same'和 'eq'的区别

在EasyMock中,'same'和'eq'之间是否存在显着(甚至任何)差异? 最佳答案 same检查两个对象是否实际上是同一个实例(引用相等)。eq调用equals并因此检查两者是否具有相同的值(值相等)。请记住,默认的equals实现在内部使用==,因此eq将执行与same如果您使用的类没有适当的equals覆盖。但是,最好通过使用same来表示引用相等,使用eq来表示值相等来说明您的意图。它还可以帮助您找到错误(即发现您忘记覆盖equals)。 关于java-EasyMock中's

python - 如何让pytest重写非测试模块中的assert

我们在一个单独的python文件中定义了所有自定义断言,该文件不是测试模块。例如:custom_asserts.pyclassCustomAsserts(object):defsilly_assert(self,foo,bar):assertfoo==bar,'someerrormessage'如果我们在测试中直接使用assert,我们会得到关于AssertionError的额外信息,这非常有用。在测试中直接使用断言的输出:>assert'foo'=='bar','someerrormessage'EAssertionError:someerrormessageEassert'foo'

python - 什么时候使用 hash() 调用 __eq__?

如前所述here,下面的代码,classPerson(object):def__init__(self,name,ssn,address):self.name=nameself.ssn=ssnself.address=addressdef__hash__(self):print('inhash')returnhash(self.ssn)def__eq__(self,other):print('ineq')returnself.ssn==other.ssnbob=Person('bob','1111-222-333',None)jim=Person('jimbo','1111-222-3

python + Nose : make assertions about logged text?

是否有一些简单的方法可以使用nose捕获记录的消息并对其进行断言?例如,我希望能够执行如下操作:cook_eggs()assert_logged("eggsareready!") 最佳答案 您可以创建一个自定义处理程序,它可以检查通过日志记录发送的消息。BufferingHandler非常适合这份工作。您可能还想在测试中将处理程序附加到您在代码中使用的任何记录器,例如logging.getLogger('foo').addHandler(...)。您最终可以在测试用例的setUp和tearDown方法中附加处理程序。importlo

Windows 上的 Python 2.7,所有多处理示例的 "assert main_name not in sys.modules, main_name"

简单的代码如下:frommultiprocessingimportProcess,freeze_supportdeffoo():print'hello'if__name__=='__main__':freeze_support()p=Process(target=foo)p.start()它在使用Python3.3的Linux或Windows上运行良好,但在使用Python2.7的Windows上运行失败。Traceback(mostrecentcalllast):File"",line1,inFile"c:\Python27\lib\multiprocessing\forking.p

Python:x==y 和 x.__eq__y() 返回不同内容的情况。为什么?

我正在上我的第一门计算科学类(class),我们刚刚学习了类实现和继承。特别是,我们刚刚介绍了方法覆盖以及我们定义的类默认情况下如何从object父类(superclass)继承。作为尝试这种特殊继承情况的示例之一,我使用了以下代码:classA:def__init__(self,i):self.i=idef__str__(self):return"A"#Commentingoutthesetwolinestonotoverride__eq__(),justusethe#defaultfromoursuperclass,object#def__eq__(self,other):#ret

python - Cython 元类.pxd : How should I implement `__eq__()` ?

我正在尝试使用cython.pxd来扩充现有的python源代码,正如StefanBehnel在"UsingtheCythonCompilertowritefastPythoncode"的幻灯片32到35中所说明的那样.作为练习的一部分,我一直在使用元类中的__eq__()方法碰壁。我希望我可以选择一个更简单的案例来启动Cython,但我的生产代码并不那么简单。我编写了一个“最小的完整示例”来说明问题......请参阅问题底部的代码。短篇小说...如果我使用cdefinline__richcmp__(Japan_Car_ABCself,Japan_Car_ABCother,intop)