我有很多测试,如下所示:
it "Should call togglePadding if df-padding is checked", ->
spyOn(App.columnsSetupBuildingBlockController.content, 'togglePadding')
App.view.set("paddingChecked", null)
Em.run ->
App.view.set("paddingChecked", true)
expect(App.columnsSetupBuildingBlockController.content.togglePadding).toHaveBeenCalledWith(true)
it "Should call togglePadding if df-padding is unchecked", ->
spyOn(App.columnsSetupBuildingBlockController.content, 'togglePadding')
App.view.set("paddingChecked", true)
Em.run ->
App.view.set("paddingChecked", null)
expect(App.columnsSetupBuildingBlockController.content.togglePadding).toHaveBeenCalledWith(null)
每个测试中只有少数不同的值是不同的。我怎样才能编写一个共享函数来干掉重复的部分并让它看起来更干净?
我也有测试边距,边界等的相同测试
请帮忙。
由于 瑞克
答案 0 :(得分:1)
我很确定我在你的问题中遗漏了一些东西......但这就是我理解你想做的事情
setup = (mode = null)->
value1 = mode
value2 = if not mode then true else null
spyOn(App.columnsSetupBuildingBlockController.content, 'togglePadding')
App.view.set("paddingChecked", value1)
Em.run ->
App.view.set("paddingChecked", value2)
expect(App.columnsSetupBuildingBlockController.content.togglePadding).toHaveBeenCalledWith(value2)
it "Should call togglePadding if df-padding is checked", ->
setup null
it "Should call togglePadding if df-padding is unchecked", ->
setup true