Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在创建一个传入回调函数的 jQuery UI 自动完成小部件,如下所示:
input.autocomplete( { ..., select: function ( event, ui ) { valueField.val( ui.item.id ); }, ... } );
如何对select函数进行单元测试以断言在调用它时会valueField使用正确的值进行更新?
select
valueField
如果您想对您的 javascript 进行单元测试,最好的计划是为您的回调创建一流的函数。
使用JsMockito您可以捕获传入autocomplete函数的参数,例如:
autocomplete
var params; when( input ).autocomplete().then( function ( p ) { params = p; } );
通过这样做,您将保存对匿名函数的引用,以便稍后调用它。
params.select( null, { item: { id: someId } } ); verify( valueField ).val( someId );
这种技术也可以用于私有函数,例如,在使用模块模式时。