我试图对一个需要我抛出带有特定堆栈跟踪元素的异常的特定场景进行单元测试。
基本上我是这样的:
final RuntimeException exception = new RuntimeException();
exception.setStackTrace(
new StackTraceElement[] {
new StackTraceElement(
Claims.class.getCanonicalName(),
"add",
我有一个REST webservice应用程序。我使用注释@ExceptionHandler和@RestControllerAdvice来处理异常处理程序。我的异常将在服务层中抛出。现在我正在为服务层编写单元测试。我正在使用Assert.assertThrows检查异常。抛出异常,并通过测试。但是,当抛出异常时,不会调用异常处理程序方法。我需要在单元测试期间调用异常处理程序方法。测试类和ExceptionHandler类如下所示。
@RunWith(SpringRunner.class)
public class ServiceTest {
@InjectMocks
private
我有一个在某些情况下抛出异常的方法。我的单元测试:
class Bob extends GroovyTestCase {
void testClusterInvalidSomeParameter() {
Abc abcClass = new Abc(2, 0)
shouldFail {
abcClass.calculate()
}
}
}
If second parameter == 0,然后方法抛出异常:"Parameter cannot be null"。如何测试它是否准确地抛出此异常
我有一个尝试/除以下情况外的函数:
def func_A():
try:
# do some stuff
except Exception as e:
log.error("there was an exception %s", str(e))
我想为这个func_A()编写一个单元测试,更重要的是,我想确保
无一例外地被捕获在A中
我有try/except只是为了安全。除非有错误,否则在A中不应该抛出任何异常(尽管它将被try/except捕获),这就是我想用单元测试验证的。
单元测试捕获抛出和捕获异常的情况的最佳方法是什么?
Assert.AreEqual(expected, actual, "The value returned for {0}'s Foo method should be 'Bar'.",
typeof(Calculator));
Assert.AreEqual(expected, actual, "The value returned for {0}'s Foo method should be 'Bar'.",
typeof(Calculator).Name);
如何在web API ASP.Net内核中对异常过滤器进行单元测试。我不想模仿onException方法。我在我的单元测试中模拟了ControllerContext,如下所示。从Web API调用的类库抛出由异常过滤器捕获的自定义异常,我想对此进行单元测试。今天我收到“值不在预期范围内”的错误。
public static ControllerContext GetMockControllerContext(
this Controller controller,
RouteData routeData)
{
var actio
我有一种情况,在某些情况下,实际函数抛出一个异常,我为它编写了单元测试,但不幸的是,单元测试失败了。
示例代码
// 'CheckNumber()' function is Present in 'Number' class.
public int CheckNumber(int Number)
{
if (Number < 0 || Number > MaxNumber) // MaxNumber = 300
throw new ArgumentOutOfRangeException();
//..
}
这是我在控制器中的方法。
public ActionResult DeleteModelAliasData(string alias)
{
if (!ModelState.IsValid)
{
ModelState.LogModelStateError();
throw new BusinessException("COMMON_ERROR");
}
var response = _vehicleDataBusinessService.DeleteModelAliasData(alias);
return
XUnit ThrowsAsync<>似乎没有检查异常类型。
我正在尝试检查单元测试中抛出的异常的类型。然而,XUnit似乎并不是不检查异常类型,而是只检查它是一个异常。
当然,下面的测试会失败,因为抛出的异常是NotImplementedException类型的,但是测试期待的是ArgumentException。只要抛出任何类型的异常,它就会过去。
public class AssertThrowsTests
{
[Fact]
public void Tests()
{
// Using a method as a delegate
我必须对一个使用Linq查询DocumentDb并使用一个预定义的UserDefinedFunction "IS_DEFINED“的方法进行单元测试。当我试图模拟DocumentDb部件对这个方法进行单元测试时,它抛出了一个异常:“这个方法只能在Linq表达式中调用,才能调用用户定义的函数”。
public void GetRequiredData()
{
var data = docDbClient.GetDataAsQueryable("some parameters").Where((bool)UserDefinedFunctionProvider.Inv
我正在使用Specs库来编写Scala单元测试() .In我的代码如果我想断言a抛出了ClassNotFoundException类型的异常,那么我可以编写以下代码:
a must throwA[ClassNotFoundException]
然而,我想测试相反的情况,即我想断言a“不”抛出ClassNotFoundException类型的异常。
我尝试使用not negation matcher,如下所示:
a must throwA[ClassNotFoundException].not
但这并不管用。我得到了编译错误。那么,有没有什么方法可以断言不会抛出ClassNotFoundExc