如何测试我自己的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;
}
}
}
答案 0 :(得分:4)
将传真(真实设备)和swithc连接在上面。
运行程序并发送传真。 (确保您能够获得有关传真传送的信息)
同样的情况,如(1)但在传输过程中分离了cabble(检查你的程序是如何容错的)
与(1)相同的情况,但传真已关闭。 (检查连接超时和所有内容)
经过这些测试,你已经处于优势地位。
问候。
答案 1 :(得分:0)
如果您正在考虑单元测试之类的东西,我建议声明一个接口IFax(可能使用一个名为SendFax的方法)并将SendFax放入实现此模块的模块中。您可以在没有“Form1”类的情况下测试您的Fax类,然后使用真实设备进行测试(如果您想在另一个级别进行测试,可以将FAXCOMLIB封装在接口后面,然后同样适用)。要测试GUI行为,您可以通过类'ErrorThrowingTestFax'类来实现IFax,该类始终会抛出错误,或者DoNothingTestFax从不执行任何操作或任何您想要的操作。