Ошибка CS0012 в Unit тестировании с помощью mstest
Как я понял ошибка выдаётся из-за недостающей сборки System.Windows.Forms ver=4. Но 1. Такой сборки с версией 4.0.0.0 просто нет в диспетчере ссылок. 2. Версии 2.0 и 2.4 положения не изменяют. Все поля тестируемой системы имеют модификаторы public и ссылка на тестируемую сборку добавлена. Данную ошибку выдаёт при каждой попытке обращения к кнопкам и текстбоксам. Помогите разобраться. Платформа теста .NET 6.0, фреймворк тестируемой системы .NET 4.8 . Вот весь код тестирования.
Cама ошибка:
Ошибка CS0012 Тип "Form" определен в сборке, на которую нет ссылки. Следует добавить ссылку на сборку "System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089".
Код:
using Microsoft.VisualStudio.TestTools.UnitTesting;
using CSVWorker;
namespace UnitTests
{
[TestClass]
public class Form1Tests
{
[TestMethod]
public void Button1_Click_LoadsDataIntoDataTable()
{
// Arrange
var form = new Form1();
var form2 = new Form2();
// Act
form2.button1_Click(null, EventArgs.Empty);
form.button1_Click(null, EventArgs.Empty);
// Assert
Assert.IsNotNull(form.dataTable);
Assert.IsTrue(form.dataGridView1.DataSource == form.dataTable);
}
[TestMethod]
public void Button2_Click_SavesDataTableToCSVFile()
{
// Arrange
var form = new Form1();
var expectedDataFilePath = "test_data.csv";
// Act
form.button1_Click(null, EventArgs.Empty);
form.button2_Click(null, EventArgs.Empty);
// Assert
Assert.IsTrue(System.IO.File.Exists(expectedDataFilePath));
var savedData = System.IO.File.ReadAllText(expectedDataFilePath);
Assert.IsFalse(string.IsNullOrEmpty(savedData));
// Customize additional asserts based on the data you expect to be saved in the CSV file.
// Clean up
System.IO.File.Delete(expectedDataFilePath);
}
[TestMethod]
public void Button3_Click_AddsDataToDataTable()
{
// Arrange
var form = new CSVWorker.Form1();
var initialRowCount = form.dataTable.Rows.Count;
form.textBox1.Text = "Data 1";
form.textBox2.Text = "Data 2";
form.textBox3.Text = "Data 3";
form.dateTimePicker1.Value = DateTime.Now;
form.dateTimePicker2.Value = DateTime.Now;
// Act
form.button3_Click(null, EventArgs.Empty);
// Assert
Assert.AreEqual(initialRowCount + 1, form.dataTable.Rows.Count);
// Customize additional asserts based on the data you expect to be added to the DataTable.
}
}
}