jjzjj

assert_throws

全部标签

php - Symfony2 UniqueEntity 不工作 : throws db exception

我有一个用户类如下:/***User**@ORM\Table()*@ORM\Entity*@UniqueEntity("username")*/classUserimplementsUserInterface{/***@varinteger**@ORM\Column(name="id",type="integer")*@ORM\Id*@ORM\GeneratedValue(strategy="AUTO")*/private$id;/***@varstring**@ORM\Column(name="username",type="string",length=30,unique=true

phpunit 和 symfony2 : how to assert number of queries from client or response?

我正在使用symfony2和phpunit进行测试。有没有类似的东西:$client->getResponse()->getNumberOfQueries()如果不是类似的东西,从响应中检索查询数量的方法是什么?我想快速检查一下我没有优化查询的地方。编辑:我的变量$profile似乎总是null/***@dataProviderurlProvider*@param$url*/publicfunctiontestPageIsSuccessful($url){$client=self::createClient(array(),array('PHP_AUTH_USER'=>'xx','PH

php - 正则表达式练习 : reluctant quantifier with a lookahead assertion

你能解释一下这是如何工作的吗?这是一个例子:首先,我尝试使用下面的正则表达式来匹配条件注释中的内容://s它失败了,因为正则表达式匹配了第一个之前的所有内容最后一个-->.然后我尝试使用另一种带有先行断言的模式://s它的工作原理完全符合我的需要。但是,以下正则表达式也适用://s最后一个正则表达式在先行断言中没有不情愿的量词。现在我很困惑。任何人都可以向我解释它是如何工作的吗?也许这个例子有更好的解决方案?更新:我尝试在另一个文档中使用带有先行断言的正则表达式,但无法处理注释之间的内容。所以,这个//s(以及这个//s)不正确。不要使用它并尝试其他建议。更新:解决方案已被Jonny5

PHPUnit Assert 两种可能结果之一

我正在编写单元测试来验证两个库的功能是否相同。本质上,测试接口(interface)。但是,在一些与错误处理相关的测试中。错误级别不同,必须不同,因为例如一个生成E_WARNING,另一个只能生成E_USER_WARNING。那么问题来了。PHP单元中是否有一个断言可以说错误必须是两个可能结果之一?像这样的东西:assertIsIn(array(E_WARNING,E_USER_WARNING),$generatedError);我知道我可以通过在assertContains()中交换预期答案和实际答案或者可能对结果进行一些预断言操作来解决这个问题。然而,有更清洁的方法吗?

php - 使用 throw try catch 错误处理的正确方法

我在下面遇到了这个函数,我想知道这是否是使用try/catch错误处理的正确方法。publicfunctionexecute(){$lbReturn=false;$lsQuery=$this->msLastQuery;try{$lrResource=mysql_query($lsQuery);if(!$lrResource){thrownewMysqlException("Unabletoexecutequery:".$lsQuery);}else{$this->mrQueryResource=$lrResource;$lbReturn=true;}}catch(MysqlExcept

【Java】Assert.assertEquals断言

Assert.assertEquals1.概述在开发中,我们需要测试时候,不可能把全部程序运行一次,在此我们就需要通过编写单元测试来对程序进行测试了。在Assert类里面有大量的静态方法,本篇的主角就是Assert.assertEquals这个静态方法。该方法执行逻辑:如果两者一致,程序继续往下运行。如果两者不一致,中断测试方法,抛出异常信息AssertionFailedError。Assert运行环境需要什么导入什么jar包?(在测试环境下)importorg.junit.Assert;importorg.junit.Test;2.使用方式函数原型1:assertEquals([String

java - 为什么 `Pattern.compile("(? :\u00e9 )",Pattern.CANON_EQ)` throw?

Pattern.CANON_EQ编译的正则表达式没有限制。然而Pattern.compile("(?:\u00e9)",Pattern.CANON_EQ);抛出异常:java.util.regex.PatternSyntaxException:Unmatchedclosing')'nearindex11((?:é)|é)|e)́)^请注意,模式是规范化的字符串。它看起来像是JRE中的错误,但我在问题跟踪器中找不到这样的错误。 最佳答案 似乎是这样的:http://bugs.sun.com/bugdatabase/view_bug.d

java - jTDS JDBC 驱动程序 : getNString() throws error

我正在使用jtDSJDBC驱动程序,当我调用ResultSet.getNString(index);时,出现以下异常:run:Exceptioninthread"main"java.lang.AbstractMethodError:net.sourceforge.jtds.jdbc.JtdsResultSet.getNString(I)Ljava/lang/String;atjavasql.ProductsController.PrePopulate(ProductsController.java:51)atjavasql.ProductsController.(ProductsCon

java - 如果我将变量声明为其抽象父类(super class),Scala 的 @throws 注释将在 javac 中被忽略

在Java中,如果原始抽象方法不存在异常(重写方法不抛出异常),则不能指定重写抽象方法抛出。但是在Scala你可以做到这一点,因为它没有检查异常。很好,但是如果您使用@throws注释应该会提示Java编译器正在发生的事情,对吗?鉴于此Scala代码:packagemyscalaabstractclassSFoo{defbar():Unit}classSFoobarextendsSFoo{@throws[Exception]overridedefbar():Unit={thrownewException("hithere")}}我有两个不同的Java程序,其中一个将在运行时编译并运行到

java - "error_description": "AADSTS70002: The request body must contain the following parameter: ' client_secret or client_assertion'

我使用了https://github.com/AzureAD/azure-activedirectory-library-for-java/blob/master/src/samples/public-client-app-sample/src/main/java/PublicClient.java中的代码.唯一的区别是CLIENT_ID已更新。我一直收到错误消息"error_description":"AADSTS70002:Therequestbodymustcontainthefollowingparameter:'client_secretorclient_assertion'