Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 27.01.2014
Сообщений: 116

Как оформить класс юнит-тестирования

13.10.2016, 19:14. Показов 3401. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я создаю класс тестов, но никак не получается увидеть namespace основного проекта и соответственно вызвать его классы для тестирования. Скриншоты IDE:



Возможно, дело в в пробеле в названии проекта. Я пробовал убрать пробел - подчёркивания названия проекта нет, но слово Controllers подчёркнуто красным

Помогите
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.10.2016, 19:14
Ответы с готовыми решениями:

Как правильно оформить класс?
Хочу создать простой класс для того, что получать список файлов из указанной папки, используя Directory.GetFiles() Из примера на msdn...

Оформить существующий функционал в отдельный класс и использовать
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include...

Как создать Юнит Тест
Добрый день! Уважаемые форумчане, нужна помощь с Visual Studio 2010. Проблема: не могу найти как создать Юнит Тест Создал...

13
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
13.10.2016, 19:27
А вы откройте исходный код класса HomeController и посмотрите в каком namespace-е он определен.
0
0 / 0 / 0
Регистрация: 27.01.2014
Сообщений: 116
13.10.2016, 19:31  [ТС]
этот нэймспэйс Pulse_62

Если я напишу
C#
1
using Pulse_62;
то Pulse_62 подчеркнётся красным.
0
 Аватар для Sigin
226 / 225 / 112
Регистрация: 20.10.2013
Сообщений: 808
13.10.2016, 19:40
olegall, у Вас проект Pulse_62.Tests не имеет ссылки на Pulse_62. Добавьте её и все должно работать.
0
0 / 0 / 0
Регистрация: 27.01.2014
Сообщений: 116
13.10.2016, 22:40  [ТС]
Очень благодарю!

Добавлено через 1 час 8 минут
Сейчас test explorer не видит мои тесты:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
namespace Pulse62.Tests.Controllers
{
    [TestClass]
    class HomeControllerTest
    {
        [TestMethod]
        public void Index()
        {
            // Arrange
            HomeController controller = new HomeController();
 
            // Act
            ViewResult result = controller.Index() as ViewResult;
 
            // Assert
            Assert.IsNotNull(result);
        }
    }
}
Когда нажимаю Run All, пробегает зелёная полосочка и всё
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18286 / 14209 / 5368
Регистрация: 17.03.2014
Сообщений: 28,888
Записей в блоге: 1
14.10.2016, 10:01
olegall, как ты создал проект с юнит-тестами? Его нужно обязательно создать через меню Test.
0
0 / 0 / 0
Регистрация: 27.01.2014
Сообщений: 116
14.10.2016, 10:06  [ТС]
сначала проект был без тестов, я их добавил позже. сделал как описано здесь: http://metanit.com/sharp/mvc5/18.3.php
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18286 / 14209 / 5368
Регистрация: 17.03.2014
Сообщений: 28,888
Записей в блоге: 1
14.10.2016, 12:55
olegall, по ссылке описано как добавить тесты в уже созданный проект с тестами. Я же спрашивал как ты создал сам проект с тестами.
0
.NET senior
 Аватар для bax_tang
441 / 359 / 137
Регистрация: 23.09.2016
Сообщений: 980
14.10.2016, 19:26
olegall, класс, содержащий тесты, как и сами тесты, должен быть объявлен с модификатором доступа public (а у Вас класс HomeControllerTest получает модификатор доступа internal) - в противном случае система тестирования не сможет его найти.
1
Эксперт .NET
 Аватар для Usaga
14145 / 9374 / 1350
Регистрация: 21.01.2016
Сообщений: 35,306
15.10.2016, 04:20
bax_tang, вовсе не обязательно. Если ограничение области видимости было умышленным, то указывать везде public будет не хорошо.

Для выхода из этой ситуации предусмотрен специальный атрибут InternalsVisibleToAssembly в котором можно указать имя "дружественной" сборки (в данном случае с тестами) которой будут видны все типы из данной сборки.

Можно сохранить уровень доступа internal и при этом использовать тесты.
0
.NET senior
 Аватар для bax_tang
441 / 359 / 137
Регистрация: 23.09.2016
Сообщений: 980
15.10.2016, 07:45
Usaga, Вы серьезно? зачем класс тестов-то закрывать? Судя по руководству в MSDN, классы тестов обязаны быть публичными, в противном случае система тестов их просто не найдет / не увидит. Про использование атрибута InternalsVisibleTo я знаю, но не думаю, что он сможет как-то помочь.
0
Эксперт .NET
 Аватар для Usaga
14145 / 9374 / 1350
Регистрация: 21.01.2016
Сообщений: 35,306
15.10.2016, 09:46
bax_tang, нет, не серьёзно. Просто я прогнал с просонок. Думал, что речь идёт об обычной сборке и видимсти её содержимого сборке с тестами.
0
.NET senior
 Аватар для bax_tang
441 / 359 / 137
Регистрация: 23.09.2016
Сообщений: 980
15.10.2016, 10:01
Usaga, понимаю, бывает.
0
0 / 0 / 0
Регистрация: 27.01.2014
Сообщений: 116
15.10.2016, 12:11  [ТС]
Ребята, спасибо, всё получилось.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.10.2016, 12:11
Помогаю со студенческими работами здесь

Как писать юнит тесты?
Добрый день. Приведите, пожалуйста, какой-нибудь простенький пример использования юнит-тестов на D. Я ни разу не пользовался...

Реализовать класс строки CMyString и приложение для тестирования этого класса
Реализовать класс строки CMyString и приложение для тестирования этого класса. Класс должен иметь поле pStr - указатель на хранимую строку...

Реализовать класс строки CMyString и приложение для тестирования этого класса
Реализовать класс строки CMyString и приложение для тестирования этого класса. Класс должен иметь поле pStr - указатель на хранимую строку...

Переназначить юнит, как основной, первый...
Начну с того, что использую Builder 2010. Ситуация такая - делал прогу, так получилось, что основной программой с GUI был Unit3.cpp, а...

Как вы относитесь к юнит тестам и TDD?
Как вы относитесь к TDD? Используете ли TDD или просто юнит тесты на работе? Как насчет интеграционных тестов?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru