Привет Мне было интересно, как я могу проверить блок методы ниже:Единица Проверьте эти методы?
public float calcNP()
{
int rowcount = dataGridView1.Rows.Count;
int[] colB = new int[rowcount];
float[] NP = new float[rowcount];
float avgNP = 0;
for (int i = 0; i < rowcount; i++)
{
colB[i] = Convert.ToInt32(dataGridView1.Rows[i].Cells[5].Value);
}
float min = colB.Min();
float max = colB.Max();
float a = 1, b = 10;
for (int i = 0; i < rowcount; i++)
{
NP[i] = (a + (colB[i] - min) * (b - a))/(max - min);
avgNP = NP[i] + avgNP;
}
avgNP = (avgNP/rowcount) * 100;
return avgNP;
}
, а также следующие
public float calcIFact()
{
float ftp = calcFTP();
float NP = calcNP();
float IntFact = NP/ftp;
return IntFact;
}
и этот
public float calcFTP()
{
float ftp = 0;
if (chkFTP.Checked == true)
{
// ftp =(float)Convert.ToDouble(txtFTP.Text)/100;
ftp = (float)Convert.ToDouble(txtFTP.Text);
}
if (chkFTP.Checked == false)
{
int rowcount = dataGridView1.Rows.Count;
int[] colB = new int[rowcount];
for (int i = 0; i < rowcount; i++)
{
colB[i] = Convert.ToInt32(dataGridView1.Rows[i].Cells[5].Value);
}
// ftp = colB.Max()/100;
ftp = colB.Max();
}
Если кто-то может дать мне несколько примеров, было бы замечательно.
В основном просто нужно несколько простых тестов для расчетов
У вас будут жесткие методы тестирования единицы измерения, которые зависят от значений в сетке данных. Переместите логику расчета в отдельные методы, которые принимают числа в качестве входных данных и не ссылаются на сетку данных, а затем проверяют эти методы. –
Хорошо, у вас мало времени, чтобы поиграть с ним просто нужно создать несколько тестов для проекта в целом. Насколько сложно было бы тестировать некоторые функции диаграммы? – mvoase
@ user2913240 Для написания хороших модульных тестов требуется время инвестирования и код рефакторинга для поддержки хороших методов тестирования. BJ Майерс сказал вам хороший способ приблизиться к рефакторингу. Ваш метод, который в настоящее время написан, опирается на состояние из-за пределов метода, который вы хотите проверить. Это затрудняет тестирование. Тестирование модулей - это проверка того, что для определенного набора входов вы получаете обратно определенный набор выходов. –