Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 需要用户输入的单元测试方法_C#_Unit Testing - Fatal编程技术网

C# 需要用户输入的单元测试方法

C# 需要用户输入的单元测试方法,c#,unit-testing,C#,Unit Testing,好的。所以我必须对我的应用程序进行单元测试。它包括几个void方法。在几乎所有的方法中,我都喜欢OpenFileDialog或SaveFileDialog。如何测试这些方法 这些方法是按钮事件,需要像(objectsender,EventArgs e)这样的参数,我无法在测试类库中传递这些参数 p.S2我不能再更改我的项目(讲师要求)假设这是事件处理程序: void btn_Click (object sender, EventArgs e) { } 你可以这样称呼它: btn_Click (

好的。所以我必须对我的应用程序进行单元测试。它包括几个
void
方法。在几乎所有的方法中,我都喜欢
OpenFileDialog
SaveFileDialog
。如何测试这些方法

这些方法是按钮事件,需要像
(objectsender,EventArgs e)
这样的参数,我无法在测试类库中传递这些参数


p.S2我不能再更改我的项目(讲师要求)

假设这是事件处理程序:

void btn_Click (object sender, EventArgs e)
{
}
你可以这样称呼它:

btn_Click (this.openDialog, new EventArgs())

确保在您尝试测试的类中公开它。

假设这是事件处理程序:

void btn_Click (object sender, EventArgs e)
{
}
你可以这样称呼它:

btn_Click (this.openDialog, new EventArgs())

确保在您尝试测试的课堂上公开该问题。

则无法解决此问题。您可以通过像
IFilePicker
这样的抽象来实现,它的实现使用
OpenFileDialog
并返回一个路径,然后您可以对其进行模拟。您测试的平台是什么?WinForm、WPF、UWP…等等?那么您无法修复此问题。您可以通过像
IFilePicker
这样的抽象来实现,它的实现使用
OpenFileDialog
并返回一个路径,然后您可以对其进行模拟。您测试的平台是什么?WinForm、WPF、UWP等?