命令类的单元测试

时间:2015-12-22 08:38:01

标签: c# unit-testing

我有一个导出按钮的命令类,我想测试它自动化单元测试。

iface.mapCanvas().setSelectionColor( QColor("Transparent") )

我想测试在测量列表中是否选择了1个测量值,如何使用导出功能导出测量输出,如果我从列表中选择3个测量值,如果导出功能将输出3个测量值而不是测量孔列表。 我想更多地关注那个测量。选择的功能。 欢迎提出任何建议。

我尝试为该导出函数创建一个虚拟类:

void ICommand.Execute(object parameter)
        {
            string FileName = "";
            if (measurementViewModel.NavigationResolver.ShowSaveFileDialog(ref FileName))
            {
                bool IsFirstMasurement = true;
                foreach (Measurement measurement in measurementViewModel.Measurements)
                {
                    if (measurement.IsSelected)
                    {
                        if (IsFirstMasurement)
                        {
                            measurementViewModel.MeasurementModel.ExportMeasurementToXml(FileName, measurement);

                            IsFirstMasurement = false;
                        }
                        else
                            measurementViewModel.MeasurementModel.AppendMeasurementsToXml(FileName, measurement);
                    }
                }
                measurementViewModel.Measurements.MoveCurrentToPosition(-1);
                measurementViewModel.Measurements.Refresh();
            }
        }

该功能的测试类:

  public class ExportTest
    {

        MeasurementViewModel measurementViewModel = null;

        public int ExportCounter { get; set; }

        public ExportTest(MeasurementViewModel viewModel)
        {
            this.measurementViewModel = viewModel;

        }


       public void export()
        {
            measurementViewModel.InitializeMeasurements();


            measurementViewModel.MeasurementModel.Measurements.ElementAt(0).IsSelected = true;
            string FileName = "..\\..\\..\\..\\..\\03_Test\\PC-Software\\BackendTest\\PMDtest\\MeasurementTest\\MeasurementModelTest\\test_xml.xml";

                bool IsFirstMasurement = true;
                foreach (Measurement measurement in measurementViewModel.Measurements)
                {
                    if (measurement.IsSelected)
                    {
                        if (IsFirstMasurement)
                        {
                            measurementViewModel.MeasurementModel.ExportMeasurementToXml(FileName, measurement);

                            IsFirstMasurement = false;
                            ExportCounter++;
                        }
                        else
                            measurementViewModel.MeasurementModel.AppendMeasurementsToXml(FileName, measurement);
                    }
                }
                measurementViewModel.Measurements.Refresh();
            }
        }

}

但是断言总是1我怎么能

0 个答案:

没有答案