小编Tom*_*ado的帖子

使用不同的数据多次运行相同的mocha测试

问题

我有几个测试在mocha中做同样的事情.这对我来说,它是重复的,当你希望你的系统可以维护时,这是最糟糕的事情.

var exerciseIsPetitionActive = function (expected, dateNow) {
    var actual = sut.isPetitionActive(dateNow);
    chai.assert.equal(expected, actual);
};

test('test_isPetitionActive_calledWithDateUnderNumSeconds_returnTrue', function () {
    exerciseIsPetitionActive(true, new Date('2013-05-21 13:11:34'));
});

test('test_isPetitionActive_calledWithDateGreaterThanNumSeconds_returnFalse', function () {
    exerciseIsPetitionActive(false, new Date('2013-05-21 13:12:35'));
});
Run Code Online (Sandbox Code Playgroud)

我需要什么

我需要一种方法来将我的重复mocha测试折叠成一个.

例如,在PhpUnit(和其他测试框架)中,您有dataProviders.
在phpUnit中,dataProvider以这种方式工作:

<?php class DataTest extends PHPUnit_Framework_TestCase {
    /**
     * @dataProvider provider
     */
    public function testAdd($a, $b, $c)
    {
        $this->assertEquals($c, $a + $b);
    }

    public function provider()
    {
        return array(
          array(0, 0, 0),
          array(0, 1, 1),
          array(1, 0, 1),
          array(1, 1, 3) …
Run Code Online (Sandbox Code Playgroud)

javascript mocha.js

42
推荐指数
3
解决办法
3万
查看次数

JavaScript setTimeout如此不准确的原因是什么?

我在这里得到了这个代码:

var date = new Date();
setTimeout(function(e) {
    var currentDate = new Date();
    if(currentDate - date >= 1000) {
         console.log(currentDate, date);
         console.log(currentDate-date);
    }
    else {
       console.log("It was less than a second!");
       console.log(currentDate-date);
    }
}, 1000);
Run Code Online (Sandbox Code Playgroud)

在我的计算机中,它总是正确执行,在控制台输出中为1000.有兴趣在其他计算机,相同的代码,超时回调开始不到一秒钟,差异currentDate - date在980和998之间.

我知道存在解决这种不准确性的库(例如,Tock).

基本上,我的问题是:原因setTimeout什么,因为在给定的延迟中不会触发?可能是计算机速度太慢而且浏览器会自动尝试适应缓慢并且之前触发事件?

PS:以下是Chrome JavaScript控制台中执行的代码和结果的屏幕截图:

在此输入图像描述

javascript settimeout

35
推荐指数
3
解决办法
9781
查看次数

CSS3过滤器性能和CPU使用率:为什么某些过滤器对CPU征税?

考虑David Nuon的这个演示:

http://zunostudios.com/demos/css32014-demos/filters.html

大卫在他的帖子中注意到:

您会注意到滑块越向右,页面响应越少.

这是事实.在我改变了图像之后,我看到了我的CPU如何开始工作.

我无法回答的是为什么在所有css修改后页面都没有响应.像所有的动画都是2fps.

如果工作完成,为什么它继续工作?

编辑: 在xengravity的帮助下,我可以看到,可能在所有过滤器都在右边后,似乎GPU以疯狂的速度执行以下操作:

1.-拍摄原始图像.
2.-修改它(数学计算,blabla等).

但始终从原始图像开始.也许这就是为什么它似乎都这么慢......

编辑:将演示添加到片段中以供将来后代使用

			var update_filter = function () {
	
				
				var styles  = [

				'grayscale( ' +  parseInt($('#grayscale').val()) * .01 + ')', 
				'blur( ' +  $('#blur').val() + 'px)', 
				'sepia( ' +  $('#sepia').val() + '%)', 
				'brightness( ' +  parseInt($('#brightness').val()) * .01 + ')', 
				'contrast( ' +  $('#contrast').val() * .1 + ')', 
				'hue-rotate( ' +  $('#hue-rotate').val() * 3.6 + 'deg)', 
				'invert( ' +  $('#invert').val() + '%)', 
				'saturate( ' +  parseInt($('#saturate').val()) …
Run Code Online (Sandbox Code Playgroud)

performance jquery cpu-usage css3

6
推荐指数
2
解决办法
7818
查看次数

是否可以在Mandrill中使用嵌套合并标签?

是否可以使用嵌套合并标签

我们需要的是能够UNSUB根据其他合并标记的值定义标记,例如:

<a 
href="*|UNSUB:*|COMMUNITYURL|*/site/unsuscribe/user_id/*|USERID|*/hash/*|HASH|*/type/all|*">
Unsubscribe
</a>
Run Code Online (Sandbox Code Playgroud)

它是否正确?应该以不同的方式完成?

mailchimp mandrill

5
推荐指数
1
解决办法
1535
查看次数

在php中将三个mysql查询组合成一个json数组

我有一个PHP脚本,有三个查询,每个查询返回一组结果.
现在我想将三个查询的结果合并到一个JSON数组中.

谁知道如何实现这一目标?
查询无法加入.

谢谢.

php mysql json

3
推荐指数
1
解决办法
1176
查看次数

Javascript正则表达式"替换(/ [-_]/g)"删除数字?

我正在使用replace javascript函数在Javascript中进行一些测试.

考虑在节点REPL上执行的以下示例.
它是replace从字符串中删除空格,连字符和下划线的.

> "call this 9344 5 66 22".replace(/[ _-]/g, '');
'callthis934456622'
Run Code Online (Sandbox Code Playgroud)

这就是我所期待的.仅删除空格.

不过要看看这个:

> "call this 9344 5 66 22".replace(/[ -_]/g, '');
'callthis'
Run Code Online (Sandbox Code Playgroud)

为什么当我把这个正则表达式组合完全像这样-_(空格,连字符,下划线)时,它会删除字符串中的数字?


我做了更多测试:

-(空格,连字符)不会删除数字

_(空格,下划线)不会删除数字

_-(空格,下划线,连字符)不会删除数字

-_(连字符,下划线,空格)不会删除数字

_-(下划线,连字符,空格)REPL块??

-_(空格,连字符,下划线)确实删除了数字

javascript regex node.js

1
推荐指数
1
解决办法
818
查看次数