.NET 4.x Доступ к классу с Unit Test Project - C#

Узнай цену своей работы

Формулировка задачи:

Задание:

1.

Создайте просто строковый калькулятор с методом int Add(string numbers).

1.1.

Метод может принимать 0,1 или 2 аргумента и возвращать их сумму. Например “” или “1” или “1,2” (для пустой строки метод должен вернуть 0).

1.2.

Начните писать тест с передачи пустой строки, потом одного аргумента и потом 2-х. Для выполнения, я создал проект

Calculator

. Там же добавил класс

MyCalculator

и реализовал функцию

int Add(string numbers)

:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Calculator
{
    class MyCalculator
    {
        public int Add(string numbers)
        {
            if (numbers == "")
                return 0;
 
            char delimiter = ',';
            int Sum = 0;
            string[] subStrings = numbers.Split(delimiter);
            foreach (var subString in subStrings)
                Sum += Convert.ToInt32(subString);
            return Sum;
        }
    }
}
После этого. Добавил в Solution проект Unit Test Project (

CalculatorTest

). В Reference установил

NUnit.framework

(так требуется в задании) и отредактировал тестовый класс (

TestCalculator

):
using System;
using NUnit.Framework;
 
namespace CalculatorTests
{
    [TestFixture]
    public class TestCalculator
    {
        [Test]
        public void Add_CallMethod_ReturnsSum()
        {
            //arrange
            // MyCalculator calc(); <==== ERROR!
            // ...
        }
    }
}
Так вот,

для написания

юнит-теста

метода int Add(string numbers) класса MyCalculator нужен доступ к этому классу. Как его получить?

P.S. В методичке к лабе есть пример всего процесса построение тестов. Только там основной проект был в виде .dll.

Решение задачи: «.NET 4.x Доступ к классу с Unit Test Project»

textual
Листинг программы
namespace CalculatorTests
{
    [TestFixture]
    public class TestCalculator
    {
        [Test]
        public void Add_CallMethod_ReturnsSum()
        {
            //arrange
             var calculator = new Calculator.MyCalculator(); 
            // act 
            // ...
            // assert
            // ...
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5