2013-07-26 4 views
0

Я пытаюсь проверить мой класс «Сайт», если это ставит под «событие» (с помощью класса Stream)Тестирование на события потока

то, что я до сих пор:

test('position',() { 
    Site site = new Site(); 

    Function func = (bool isNew) { 
     expect(isNew, equals(true)); 
    }; 

    site.onPositionChange.listen((bool b) { 
     func(b); 
    }); 

    var callback = expectAsync1(func, count: 1); 
    new Timer(new Duration(milliseconds: 100), callback); 

    site.position = new Position(x: 1.0, y: 2.0); 
    }); 

, к сожалению, он не работает с «Ожидание: сайт: позиция. Тест не выполнен: Caught type» (динамический) => dynamic 'не является подтипом типа'() => void 'of callback'. "

что я делаю неправильно здесь?

ответ

1

Обратный вызов таймера не принимает один аргумент. Я не знаю, что вы хотите проверить, но вот версия, где ваша функция func вызывается с false с таймера.

var callback = expectAsync0(() => func(false)); // No need for count if it is 1. 
new Timer(new Duration(milliseconds: 100), callback); 
Смежные вопросы