gpt4 book ai didi

c# - 我的测试用例没有执行,它开始执行但没有任何反应,并且显示未运行状态

转载 作者:行者123 更新时间:2023-12-04 22:23:22 26 4
gpt4 key购买 nike

我的测试用例没有执行,它开始执行但没有任何 react ,并且显示未运行状态。
当我点击运行测试时,excel 文件没有打开并且测试运行显示 Not Run .我没有得到什么问题,因为没有显示错误。请指导我。

最佳答案

它应该是这样的:

using Microsoft.VisualStudio.TestTools.UnitTesting;
using Excel = Microsoft.Office.Interop.Excel;
using Xceed.Wpf.Toolkit;
using System;
using System.Collections.Generic;
using System.Diagnostics;

namespace Test01.AppObj
{

[TestClass]
public class MainProjectFile
{

bool control = true;
private bool show_messages = true;

[TestMethod]
public void TestExcel_RunExceldownload_OK()
{
//Arrange
List<string> lst1 = new List<string>() { "Abc", "10t", "88990" };
show_messages = false;

//Act
bool returnValue = Exceldownload(lst1);

//Assert
Debug.Assert(returnValue==true);
}


private bool Exceldownload(List<string> lst)
{
string str;
int rw = 0;
int cl = 0;
bool returnValue = false;

Excel.Application xlApp = new Excel.Application();
{
xlApp.Visible = true;
xlApp.DisplayAlerts = false;
}

Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"path", 0, true, 5, "", "", true, Excel.XlPlatform.xlWindows, "", false, false, 0, true, false, false);
xlApp.WindowState = Microsoft.Office.Interop.Excel.XlWindowState.xlMaximized;

Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1];

Excel.Range xlRange = xlWorksheet.UsedRange;
rw = xlRange.Rows.Count;
cl = xlRange.Columns.Count;

for (int i = 1; i <= cl; i++)
{
str = Convert.ToString((xlRange.Cells[2, i] as Excel.Range).Value2);
if (!lst[i - 1].Equals(str))
{
if (show_messages)
MessageBox.Show($"Not match in column: {i}");
control = false;
returnValue = false;
}
}
if (control)
{
returnValue = true;
if (show_messages)
MessageBox.Show($"All match");
}

xlWorkbook.Close(0);
xlApp.Quit();
return returnValue;
}

private void Button1_Click(object sender, EventArgs e)
{
List<string> lst1 = new List<string>() { "Abc", "10t", "88990" };
Exceldownload(lst1);
}
}
}

我补充说:
private bool show_messages = true; 

然后创建了新的测试方法:
[TestMethod] 
public void TestExcel_RunExceldownload_OK()

一些小的变化
private bool Exceldownload(List<string> lst) 

测试方法时不显示消息框。
我将 void 更改为 bool,以创建 Assert。

一般来说,如果你想让测试工作,你必须编写一个公共(public)的测试方法并添加适当的属性:[TestMethod]。
此外,要编写好的测试尝试使用 Arrange-Act-Assert 模式,
请参见例如: https://github.com/testdouble/contributing-tests/wiki/Arrange-Act-Assert

关于c# - 我的测试用例没有执行,它开始执行但没有任何反应,并且显示未运行状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60505012/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com