如何从构造函数中进行单元测试

时间:2015-07-29 20:25:04

标签: c# unit-testing visual-studio-2012

我正在尝试从公共构造函数中进行单元测试。

使用Visual Studio 2012

如何从此构造函数中创建一个简单的单元测试。

    public ScenarioSelectViewModel(IEventRecorderSvc service)
    {
        eventRecordingSvc = svc;

        OkCmd = new DelegateCommand<Window>(
            OkCmd Executed,
            OkCmd CanExecute);

        RefreshAvailableScenarioStepExecutionsCommand = new       DelegateCommand<object>(
            RefreshAvailableScenarioStepExecutionsCommandExecuted,
            RefreshAvailableScenarioStepExecutionsCommandCanExecute);

        if (RefreshAvailableScenarioStepExecutionsCommand.CanExecute(null))
        {
            RefreshAvailableScenarioStepExecutionsCommand.Execute(null);
        }
    }

1 个答案:

答案 0 :(得分:1)

假设OkCmdRefreshAvailableScenarioStepExecutionsCommand是您的类ScenarioSelectViewModel中公开公开的属性。

你在构造函数中做了两件应该测试的事情:

  • Okmd和RefreshAvailableScenarioStepExecutionsCommand Initialization
  • 执行RefreshAvailableScenarioStepExecutionsCommand命令。

您可以开始声明所创建的对象,然后断言它们公开的属性,即OkCmd.Execute和OkCmd.CanExecute,无论您期望它们是什么。与RefreshAvailableScenarioStepExecutionsCommand相同。

然后你可以断言RefreshAvailableScenarioStepExecutionsCommand命令的执行