public void CreateTest_should_invoke_repository_one_time() { // test event 的結果 _budgetService = new BudgetService(_budgetRepositoryStub); var wasCreated = false; _budgetService.Created += (sender, e) => wasCreated = true; var model = new BudgetAddViewModel { Amount = 2000, Month = "2017-02" }; _budgetService.Create(model); _budgetRepositoryStub.Received().Save(Arg.Is <Budget>(x => x.Amount == 2000 && x.YearMonth == "2017-02")); Assert.IsTrue(wasCreated); }