Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaScript中使用Mocha和assert.throws测试参数的值?_Javascript_Assert - Fatal编程技术网

如何在JavaScript中使用Mocha和assert.throws测试参数的值?

如何在JavaScript中使用Mocha和assert.throws测试参数的值?,javascript,assert,Javascript,Assert,我想看看等于“x”的值是否会导致我的函数抛出异常。我有一个单元测试来检查一个块是否会抛出异常,但是我希望只有当参数为'x'时才会抛出异常,而不是如果它只是空的。如何使用assert实现这一点 下面是一些代码来说明我的意思: // Some function to check if a color is not transparent. function checkColor(color) { if (color == 'transparent') { throw new TypeEr

我想看看等于“x”的值是否会导致我的函数抛出异常。我有一个单元测试来检查一个块是否会抛出异常,但是我希望只有当参数为'x'时才会抛出异常,而不是如果它只是空的。如何使用assert实现这一点

下面是一些代码来说明我的意思:

// Some function to check if a color is not transparent.
function checkColor(color) {
  if (color == 'transparent') {
    throw new TypeError('cant have transparent colors!');
  } else {
    return color;
  }
}
以下是断言:

assert.throws(checkColor, /cant have transparent colors!/);
现在,我知道断言将失败,因为我的函数只在color==“transparent”时抛出异常。使用Mocha和Assert,如何根据需要测试断言?我不想只测试颜色!==未定义或属于某种类型。我特别想看看是否在上述特定情况下引发异常——这是我唯一希望引发异常的情况(因为颜色为空,实际上在其他地方处理)

现在只需确保参数=x


现在只需确保参数=x

你的问题不清楚。包括代码以演示您的需求“等于'x'的值将引发异常”值不会引发异常,函数会。“但我希望只有当参数为'x'”时才会引发异常。然后,当参数为
'x'
时,告诉函数引发异常。您的问题不清楚。包括代码以演示您的需求“等于'x'的值将引发异常”值不会引发异常,函数会。“但是我希望只有当参数为'x'”时才会抛出异常。然后告诉函数在参数为
'x'
时抛出异常。。。我是个白痴!我几个小时前就看到了这个例子,当时我完全不知所措。我会给这个机会的,我相信它会成功的。呃。。。我是个白痴!我几个小时前就看到了这个例子,当时我完全不知所措。我会给这个机会的,我相信它会成功的。
assert.throw(function() { iThrowError(argument) }, Error)