是否有任何特定方法为我的函数创建日志文件。所有这些功能都是测试用例。我使用以下代码添加数据。
string pathfile = @"data source location";
XLWorkbook workbook = new XLWorkbook(pathfile);
IXLWorksheet worksheet = workbook.Worksheet("Common");
worksheet.Cell("A2").Value = "1";
worksheet.Cell("B2").Value = "Test Case # 1";
worksheet.Cell("C2").Value = "1/29/2016 6:18:56 PM";
worksheet.Cell("D2").Value = "1/29/2016 6:19:56 PM";
worksheet.Cell("E2").Value = "1 minute";
workbook.Save();
现在我必须在每个函数中指定这个。还有其他更好,更好的方法来创建excel日志文件吗?
Excel日志文件示例
+------+-------------------+-------------------------+---------------------------+---------------+
| ID | Testcases No. | Start Time | End Time | Total Time |
+------+-------------------+-------------------------+---------------------------+---------------+
| 1 | Test Case # 1 | 1/29/2016 6:18:56 PM | 1/29/2016 6:19:56 PM | 1 minute |
+------+-------------------+-------------------------+---------------------------+---------------+
| 2 | Test Case # 2 | 1/29/2016 6:20:50 PM | 1/29/2016 6:25:50 PM | 5 minutes |
+------+-------------------+-------------------------+---------------------------+---------------+
程序使用:
Selenium
单元测试类
Nunit运行我的应用程序
答案 0 :(得分:1)
作为开发人员,您应该或应该构建一个实用类的项目。您可以在没有项目/公司的框架下生活的日常工作。
即加密,电子邮件,数据访问,记录
通过这种方式,您的公司或您个人可以将此项目放入您的项目中,并立即拥有丰富的功能。
我觉得使用Excel来完成这个简单的日志记录任务有点重要
那么为什么你不使用最好的一个,即Net4Logger http://www.codeproject.com/Articles/140911/log-net-Tutorial
答案 1 :(得分:0)
一个很简单的方法是简单地创建一个数据表,然后使用closedxml将它导出到excel(你已经标记了,所以我假设你已经有了这个库)
XLWorkbook workbook = new XLWorkbook();
DataTable dt = //insert your datasource here
workbook.Worksheets.Add(dt,"WorksheetName");
参考Here
答案 2 :(得分:0)
Takarii建议的另一种选择。
如果您将数据存储在DataTable
或List<>
中,然后使用我的免费C#库,则可以使用Microsoft OpenXML库创建真正的.xlsx文件。
您只需添加一行代码,说明您的数据存储位置以及您想要调用Excel文件的内容:
List<YourLogEntryClass> listOfLogRecords = new List<YourLogEntryClass>();
. . .
CreateExcelFile.CreateExcelDocument(listOfLogRecords, "LogFile.xlsx");
P.S。一个更明智的想法可能是不将日志条目存储在Excel文件中,而是使用类似log4net的东西,它为您查找所有这些日志信息/错误字符串...
答案 3 :(得分:-2)
是否有任何理由不接受该代码块,并将其分解为一个单独的函数,该函数将文件位置,id等作为参数?
e.g。
public void LogTest(string fileLocation, int id, float minutes)
{
// your code
}