草庐IT

Assertions

全部标签

javascript - 用 Jasmine 检查两个边界(匹配器之间)

在Jasmine中,有toBeGreaterThan和toBeLessThan匹配器。如果我想检查特定范围内的整数值怎么办?是否有类似toBeInBetween匹配器的东西?目前,我可以在两个单独的expect调用中解决它:varx=3;expect(x).toBeGreaterThan(1);expect(x).toBeLessThan(10); 最佳答案 您可以运行bool比较并断言结果为true:expect(x>1&&x另外,jasmine-matchers引入了toBeWithinRange()自定义匹配器:expect(

javascript - Ajax 驱动的 JavaScript 运行时断言框架

在使用越来越多的JavaScript代码开发更大的Web应用程序时,我们就如何提高代码质量进行了头脑Stormsession。第一个想法是引入单元测试。这将是一个长期目标;但是,这不会解决最常见的回归原因:不断变化的DOM和浏览器特定问题。单元测试在模拟的、无DOM的环境中运行,并且不在页面上。我正在寻找的是一个断言框架,它可以像这样插入到代码中:var$div=$("div.fooBarClass");assertNotEmpty($div);$div.fooBarAction();我发现断言框架可以做到这一点,但它们要么登录到控制台或DOM,要么打开一个愚蠢的弹出窗口。这些都不能与

javascript - 诸如 Chai 之类的断言库如何在不强制调用函数的情况下工作?

在Chai,您可以执行以下操作:expect({}).to.exist;exist不是函数调用,但这在测试框架中仍然有效。相反的(expect({}).to.not.exist)会导致测试失败,但同样,exist不是函数调用。在不让我调用函数的情况下,这些断言如何工作?事实上,如果我尝试说expect({}).to.exist()测试失败,因为exist不是一个函数。 最佳答案 我想出来了(或者至少,我想出了一个方法)。使用JavaScriptgetters:varthrows={geta(){thrownewError('a');

php - 在 PHP 中使用断言进行类型检查?

我使用异常抛出函数对我的php类中的参数进行了一些检查。我有一些函数可以进行基本检查(===、in_array等)并在false时抛出异常。所以我可以做assertNumeric($argument,"\$argumentisnotnumeric.");而不是if(!is_numeric($argument)){thrownewException("\$argumentisnotnumeric.");}节省一些输入我正在阅读phpmanualpageonassert()的评论那个AsnotedonWikipedia-"assertionsareprimarilyadevelopment

PHPUnit:在一次测试中对模拟方法使用多个断言是一种不好的做法吗?

我正在测试一个旨在测试用户是否拥有给定电子邮件的对象。因此,在调用“tryEmail”方法时,它会向给定的电子邮件地址发送一strip有确认链接的消息。我的测试看起来像这样:publicfunctiontestSendingWasSuccessful(){$confirmationObject=$this->getMock('LT\EmailConfirmation\Model\ConfirmationObjectInterface');$testType='test.type';$testEmail='test@example.com';$testData=[];//EmailTes

java - 哪些是Java的系统类?

在阅读一些关于断言的文档时,我发现:java-ea-dsa"Enablesassertionsingeneral,butdisablesassertionsinsystemclasses."哪些是系统类? 最佳答案 根据assertionsdocumentation,系统类是“没有显式类加载器”的类,即由引导类加载器加载的类。据我所知,这意味着rt.jar的内容,即整个标准API。 关于java-哪些是Java的系统类?,我们在StackOverflow上找到一个类似的问题:

java - 如果日期相同,为什么 assertEquals 为假? hibernate

我正在生成一个日期并通过hibernate保存在数据库中,当我获得该值时,我将其与插入之前的值进行比较。结果不相等!我创建的日期如下Daterightnow=Calendar.getInstance().getTime();Taskt1=newTask("Mytask",rightnow);taskDao.saveOrUpdate(t1);TasktaskR1=taskDao.get(t1.getIdTask());assertEquals("Theyshouldhavetobeequaldates",taskR1.getDate(),t1.getDate());我遇到了这个错误不同于

java - 断言集合 "Contains at least one non-null element"

我想验证一个集合是否包含至少一个非空元素。我试过is(not(empty())),但是这在下面的测试中通过了。importorg.junit.Test;importjava.util.ArrayList;importjava.util.Collection;importstaticorg.hamcrest.CoreMatchers.is;importstaticorg.hamcrest.MatcherAssert.assertThat;importstaticorg.hamcrest.Matchers.empty;importstaticorg.hamcrest.Matchers.no

java - 标识符和关键字

我在OCJPforJava6的书中读到了断言部分。我到达了它概述了如果单词“assert”用作关键字或标识符时编译器如何react的部分。关键字和标识符有什么区别?任何人都可以给我一个简单的解释以及一个或多个例子吗? 最佳答案 术语“关键字”和“标识符”不是特定于Java的。关键字是Javakeywordlist中的保留字为编译器提供指令。由于关键字是保留的,因此程序员不能将它们用于变量或方法名称。例子:finalclassthissynchronized标识符是变量、方法、类、包和接口(interface)的名称。它们必须由字母、

Java-TestNG : Why does my Assertion always passes when written within try-catch block

我正在尝试使用org.testng.Assert的简单代码来断言2个用例。在第一个用例中,我断言了2个不相等的值,它们Fail正确。但是在第二个用例中,当我在try-catchblock中断言2个不相等的值时,结果总是返回为Pass我的代码如下:packagedemo;importorg.testng.Assert;importorg.testng.annotations.Test;publicclassQ43710035{@Testpublicvoidtest1(){System.out.println("Withintest1");inta=12;intb=20;Assert.as