Написание длинных имен метода тестирования для описания тестов по сравнению с использованием в документации кода

Проблема в том, что вы предоставляете value_ конструктору Date() в виде строки, когда для интерпретации как метка времени эпохи значение должно быть целым числом. В качестве такового вы можете использовать parseInt():

var dateObject = new Date(parseInt(value_, 10));

Обновленная скрипка

8
задан 4 revs 7 April 2009 в 08:18
поделиться

7 ответов

Что относительно изменения

Can_User_Authenticate_With_Bad_Password

кому:

AuthenticateDenieTest
AuthenticateAcceptTest

и имя удовлетворяет чему-то как User

1
ответ дан 3 November 2019 в 12:56
поделиться

Как Группа, как мы чувствуем о выполнении гибридной схемы Именования как это

/// <summary>
/// Tests for user authentication with a bad password.
/// </summary>
public void AuthenticateUser_Test1_With_Bad_Password()
{
...
}

и мы получаем лучшего из обоих.

0
ответ дан 3 November 2019 в 12:56
поделиться

Документация обнаруживается в Вашем исполнителе тестов? Если не это - серьезное основание для использования долгих, описательных имен вместо этого.

Лично я предпочитаю длинные имена и редко вижу потребность добавить комментарии к тестам.

5
ответ дан 3 November 2019 в 12:56
поделиться

Лично я предпочитаю использовать долгие имена методов. Обратите внимание, что у Вас может также быть имя метода в выражении, как:

Can_AuthenticateUser_With_Bad_Password()
2
ответ дан 3 November 2019 в 12:56
поделиться

Я предлагаю меньший, более сфокусированный (тест) классы.

Почему Вы хотели бы к тестам javadoc?

2
ответ дан 3 November 2019 в 12:56
поделиться

Я предпочитаю "длинные имена" версия - хотя только описать то, что происходит. Если тесту будет нужно описание того, почему это происходит, я помещу это в комментарий (с числом ошибки если соответствующий).

С длинным именем намного более ясно, что пошло не так, как надо, когда Вы получаете почту (или безотносительно) сообщение Вам, которых привели к сбою тесты.

Я записал бы это с точки зрения того, что это должно сделать хотя:

LogInSucceedsWithValidCredentials

LogInFailsWithIncorrectPassword

LogInFailsForUnknownUser

Я не покупаю аргумент, что это выглядит плохо в автоматически сгенерированной документации - почему Вы выполняете JavaDoc по тестам во-первых? Я не могу сказать, что когда-либо делал это или хотел сгенерированную документацию. Учитывая, что методы тестирования обычно не имеют никаких параметров и ничего не возвращают, если имя метода может описать их обоснованно, это - вся информация, в которой Вы нуждаетесь. Исполнитель тестов должен быть способен к списку тестов, которые он запускает, или IDE может показать Вам, что доступно. Я нахожу это более удобным, чем навигация через HTML - браузер не имеет, "Находят Тип", который позволяет мне ввести просто первые буквы каждого слова имени, например...

21
ответ дан 3 November 2019 в 12:56
поделиться

Я сделал свою диссертацию на связанную тему, таким образом, вот мои два цента: Любое время, которое Вы полагаетесь на документацию для передачи чего-то, что не находится в сигнатуре метода, Вы берете на себя огромный риск, что никто не прочитал бы документацию.

Когда разработчики ищут что-то определенное (например, сканируя длинный список методов в классе, чтобы видеть, там ли то, что они ищут, уже), большинство из них не собирается потрудиться читать документацию. Они хотят иметь дело с одним типом информации, которую они могут легко видеть и сравнить (например, имена), вместо того, чтобы иметь, чтобы начать перенаправить к другим материалам (например, колебаться достаточно долго для наблюдения JavaDocs).

Я настоятельно рекомендовал бы передать все соответствующее в Вашей подписи.

4
ответ дан 3 November 2019 в 12:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: