使YUI TestLogger只显示失败的测试?

时间:2009-07-25 13:50:55

标签: javascript unit-testing yui

我一直在使用YUI Test框架用JavaScript做TDD但是默认的TestLogger显示了各种消息,而不仅仅是失败的消息。这使得扫描日志中的失败是单调运动,或者你必须在过滤器复选框上玩whack-a-mole。有没有办法让记录器窗口上的切换开关在页面刷新之间保持不变?或者让Logger只显示失败的测试?

您可以在this example中看到,当您进行多次测试时PASS和INFO占主导地位,并且很容易错过FAIL消息。

YUI Test Logger screenshot http://img24.imageshack.us/img24/935/yuitest.png

我看过API for the TestLogger,暗示有一些选择。可悲的是,这些选项根本没有描述。我只使用YUI这个功能,所以我不是API的专家,所以有人可以借给我一个人吗?

3 个答案:

答案 0 :(得分:1)

要过滤YUI 2.7及之前的类别,Logger必须在隐藏请求之前收到该类别的消息。这意味着你可以做到

YAHOO.log('','pass','TestRunner');
var logger = new YAHOO.widget.LogReader(el,conf);
logger.hideCategory('pass');

FWIW,YUI 3中提供了Console + ConsoleFilters plugin预过滤。

我建议您在yuilibrary.com上添加功能请求 http://yuilibrary.com/projects/yui2/newticket

答案 1 :(得分:1)

我对YUI3的解决方案http://gist.github.com/309910

答案 2 :(得分:0)

在我看来,TestLogger类(参见source)扩展了Logger类。因此,选项应该是适用于Logger类的选项。我想你想要的是将categories选项设置为仅显示fail条消息。

var logger = new YAHOO.tool.TestLogger( element, { categories: ['fail'] } );