如何测试我自己的c#程序以发送传真?
namespace FAX
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
SendFax(textBox1.Text,openFileDialog1.FileName,textBox2.Text,textBox3.Text);
}
public void SendFax(string DocumentName, string FileName, string RecipientName, string FaxNumber)
{
if (FaxNumber != "")
{
int response = 0;
FAXCOMLib.FaxServer faxServer = new FAXCOMLib.FaxServerClass();
try
{
faxServer.Connect("");
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
FAXCOMLib.FaxDoc faxDoc = (FAXCOMLib.FaxDoc)faxServer.CreateDocument(FileName);
try
{
faxDoc.FaxNumber = FaxNumber;
faxDoc.RecipientName = RecipientName;
faxDoc.DisplayName = DocumentName;
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
try
{
response = faxDoc.Send();
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
try
{
faxServer.Disconnect();
}
catch (Exception Ex)
{
MessageBox.Show(Ex.Message);
}
}
}
private void button2_Click(object sender, EventArgs e)
{ openFileDialog1.FileName = "";
openFileDialog1.InitialDirectory = System.Environment.GetFolderPath(Environment.SpecialFolder.Personal);
openFileDialog1.Filter = " doc file|*.doc";
openFileDialog1.ShowDialog();
string Filepath = "";
Filepath = openFileDialog1.FileName;
}
}
}
附加传真(实际设备)并接通。
-
运行程序并发送传真。(确保您能够获得有关传真发送的信息)
-
与(1)相同的场景,但在传输过程中断开电缆(检查您的程序是否容错)
-
与(1)相同的场景,但传真关闭。(检查连接超时和所有的东西)
经过这些测试后,您已经处于良好的状态。
问候。
如果您正在考虑单元测试之类的东西,我建议声明一个接口IFax(可能带有称为SendFax的方法),并将SendFax放入实现该模块的模块中。您的fax类可以在没有类'Form1'的情况下使用实际设备进行测试(如果您想在另一个级别进行测试,您可以将FAXCOMLIB封装在接口后面,然后同样适用)。为了测试GUI行为,你可以通过一个类'ErrorThrowingTestFax'来实现IFax,这个类总是抛出一个错误,或者一个DoNothingTestFax,它永远不会做任何你想做的事情。