如何测试C#传真程序?

时间:2011-07-10 06:30:30

标签: c# testing fax

如何测试我自己的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;


        }
    }
}

2 个答案:

答案 0 :(得分:4)

将传真(真实设备)和swithc连接在上面。

  1. 运行程序并发送传真。 (确保您能够获得有关传真传送的信息)

  2. 同样的情况,如(1)但在传输过程中分离了cabble(检查你的程序是如何容错的)

  3. 与(1)相同的情况,但传真已关闭。 (检查连接超时和所有内容)

  4. 经过这些测试,你已经处于优势地位。

    问候。

答案 1 :(得分:0)

如果您正在考虑单元测试之类的东西,我建议声明一个接口IFax(可能使用一个名为SendFax的方法)并将SendFax放入实现此模块的模块中。您可以在没有“Form1”类的情况下测试您的Fax类,然后使用真实设备进行测试(如果您想在另一个级别进行测试,可以将FAXCOMLIB封装在接口后面,然后同样适用)。要测试GUI行为,您可以通过类'ErrorThrowingTestFax'类来实现IFax,该类始终会抛出错误,或者DoNothingTestFax从不执行任何操作或任何您想要的操作。