Мне нужно выбросить исключение, если утилита используется за пределами блока «it» или «beforeEach» в моих тестах. Пример -При запуске тестов на жасмин, как я могу узнать, есть ли я в описываемом блоке, перед каждым блоком или блоком?
describe('some test', function(){
useUtil(); // should throw exception
beforeEach(function(){
useUtil() // should work
})
it('should test something', function(){
useUtil() // should work
})
})
Util создает шпионов, и я хочу, чтобы убедиться, что они созданы таким образом, что позволяет жасмин чистить их после каждого набора.
Вы не можете этого знать (во время выполнения). Вы можете статически анализировать код, но это, кажется, больше усилий, чем того стоит. –
Вы можете что-то взломать, бросив и поймав исключение в 'useUtil' и проверив свойство' stack' порожденной 'Error'. 'stack' является нестандартным, поэтому поведение не будет согласованным во время выполнения. – joews
, пожалуйста, проверьте жасминовые документы для шпионов: http://jasmine.github.io/edge/introduction.html#section-Spies – eldi