[Test]
void changeName_ShouldSetNewName()
var service = new InMemoryService();
service.addRecord(recordId, OldName);
subject.changeName(service, recordID, NewName);
service.getName(recordID).should().be(NewName);
}
Заметьте, что здесь мы абстрагируемся от того, каким именно споcобом vмы работаем с сервисом. Может быть, в будущем появится какой-то еще метод для более удобной работы с именем и от этого ничего ровно не изменится — требование сформулировано в абстрактной форме.
Но, так как метод не вносит вообще никакой собственной ценности. Я бы просто сделал inline method :)
Нам не надо знать, был ли получен или нет токен. Нам надо знать, что работа с сервисом происходит корректно. То есть передать такой сервис с которым можно работать только получив токен. Соответственно, тест не будет проверять вызван ли метод. Он будет проверять "или метод вызван или токен не нужен"
Вероятность "зарезать случайно" на преступника, целенаправленно желающего кого-то зарезать, никак не натягивается.
Натягивается. Только господь бог исполняет свои замыслы с вероятностью 100% (да и того, по правде говоря, нет). На остальных влияют разные обстоятельства. Например на ту секунду когда он стал преступником и у него возник замысел у него не оказалось ножа или нож не пробил пуховик жертвы.
Регламентируется длина клинка и наличие упора
Первая попавшаяся ссылка говорит что не только. В госты мне смотреть в лом
Почему нужно ограничивать именно ножи именно с определенными параметрами?
Возможно дело в вероятности, вероятность зарезать ножом из хорошей стали больше чем из плохой или топором (потому, что топор не все таскают с собой). Для кухонных нужд тоже нужно что-то использовать => надо какие-то ножи разрешать.
создавались специально для преступности != способствуют преступности. Не знаю, насколько бейсбольные биты спосоствуют преступности, но ножи с определенными параметрами считаются холодным оружием и их оборот ограничен. Как и продажа и распитие алкоголя.
Юнит-тесты знают о деталях реализации, тем самым нарушая инкапсуляцию и являясь антипаттерном.
Юнит тесты знают только об итерфейсе юнита.
Для чего он предназначен? Для фиксирования логики работы. Но логика работы проверяется при дебаге, и никто не будет менять эту логику без веских причин или случайно.
При изменении надо следить чтобы другие требования не нарушались.
Если же код правится, то эти тесты падают, и их тоже приходится править.
При правильно написанных тестах надо править только тесты, которые тестируют изменяемое требование.
А основную работу должно выполнять интеграционное тестирование, на выходе и в стыках интеграции между другими модулями. И оно тоже не должно знать о деталях реализации.
Я не аппелирую к авторитету вообще. Большинство в моих рассуждениязх не авторитет — а часть предметной области. К сожалению, мы не будем сейчас исследовать это большинство научными методами, так что придется обратиться к его модели в наших головах.
В моей голове слово личинка по отношению к ребенку не нейтрально само по себе. И я даже не знаю к какой контекст надо его поставить, чтобы оно стало хотя бы нейтральным.
Как говорит одна моя хорошая знакомая: нет пошлых языков, есть пошлые уши.
Эту пошлость я слышал еще в детстве :). Я с ней несогласен.
В словах «зародыш», «завязь», «недоразвитое существо» уничижительного смысла нет.
Мне кажется, что в слове недоразвитый есть некий уничижительный оттенок:
НЕДОРАЗВИ́ТЫЙ, недоразвитая, недоразвитое; недоразвит, недоразвита, недоразвито. Остановившийся в росте раньше времени; не достигший полного развития. Недоразвитый мозг.
Хотя их можно употреблять в уничижительном смысле, как и большое количество других: тоже мне, гений нашелся.
то, что у слова можно при помощи дополнительных приемов менять оттенок не означает, что у него самого по себе оттенка нет. Они есть и даже указываются в словарях.
Я думаю, у гиктаймс аудитория смещена в ссторону молодых тезнозадротов-мужчин (в хорошем смысле слова — сам таким был лет 20 назад). Не знаю есть ли у вас дети, но если нет и они появятся, то вы скорее всего почувствуете эти врожденные программы. :)
Котенок менее самомтоятельный чем личинка. Только высокоорганизованное животное может себп позволить несамостоятельное нечто — у типичных насекомых нет просто достаточно мегафлопсов чтобы забоиться о потомстве. Мне в лом сейчас искать подтверждения, но кажется, что муравьи и пчелы могут себе позволить такую заботу.
Другими словами не ищите кучу говна там, где её нет. Если вам чем-то не нравятся личинки, то это ещё не значит, что они плохие.
Речь не идет обо мне, а о большинстве. Для большинства характерно представление о личинке как о чем-то противном. Также именно слово личинка (а например не опарыш) используется в инетах для обозначение ребенка в негативном контексте.
Да.
Ok. Вы признаете, что "личинка" использовалось вами уничижительном смысле.
Почему то, что их отдельно отмечают значит что все они в целом более значимы чем все взрослые? Может быть просто читателей интересно количество детей вследствие врожденной программы заботы о детях.
Смысл слова «личинка» очень сильно зависит от контекста, не так ли?
Не так, вы действительно не понимаете что "котенок" и "личника" воспринимается по разному? Вы действительно не знаете, что именно слово "личинка" используется с инетах в уничижительном смысле в отношении детей?
Есть игра такая, называется шахматы, там самая слабая фигура, пешка, единственная обладает потенциалом стать любой другой фигурой, когда достигнет противоположного края игрового поля. Но несмотря на это является самой «дешёвой» фигурой, и все остальные фигуры оцениваются именно в пешках.
Каждая шахматная партия проводится изолированно, в шахматах фигуры получаются в качестве начального состояния и их количество не увеличивается, в шахматах, фигуры живут вечно, пока не погибнут от внешней причины. Короля нельзя заменить выросшей пешкой.
В жизни количество взрослых равно количеству детей доживших до взрослого состояния, все взрослые умирают и новых взрослых взять неоткуда.
Получаем что есть существа которые:
сами о себе позаботиться в полной не могут
из которых состоит будущее биологического вида, и только из них
доставляют кучу проблем (не дают, спать, ноют, требуют кучу усилий)
Следовательно
о них надо заботиться
надо уравновесить создаваемую кучу проблем каким-то другим чувством (умиление, страх за будущее, любовь)
Именно поэтому люди о детях заботятся больше чем о взрослых
P.S. Если человек искренне думает, что слово "личинка" не имеет уничижительного оттенка (и это не троллинг, сознательный или бессознательный), то ему ИМХО нужны подсказки как Шелдону типа "sarkasm" чтобы социальная дизадаптированность не нанесла ему ущерба ;). Представляю что будет, если он спросит своего начальника, например, "А сколько вашей младшей личинке лет?"
Нет. subject.changeName вызывает метод SUT
Можем. Надо думать требованиями а не реализацией.
Прочитайте, пожалуйста книжку про юнит тесты. Например http://xunittestpatterns.com
По классическому TDD мы и должны сначала написать такой метод. А потом написать красный тест.
Заметьте, что здесь мы абстрагируемся от того, каким именно споcобом vмы работаем с сервисом. Может быть, в будущем появится какой-то еще метод для более удобной работы с именем и от этого ничего ровно не изменится — требование сформулировано в абстрактной форме.
Но, так как метод не вносит вообще никакой собственной ценности. Я бы просто сделал inline method :)
Заметим еще что вы думаете тестированием реализации, попробуйте думать интерфейсом — какие требования к интерфейсу метода? И по ним построить тесты.
Передать целостную инмемори реализацию сервиса.
Нам не надо знать, был ли получен или нет токен. Нам надо знать, что работа с сервисом происходит корректно. То есть передать такой сервис с которым можно работать только получив токен. Соответственно, тест не будет проверять вызван ли метод. Он будет проверять "или метод вызван или токен не нужен"
Я понятия не имею — надо в сертификат смотреть, по какой причине его не признали холодным оружием. На сайте слишком мало информации.
Натягивается. Только господь бог исполняет свои замыслы с вероятностью 100% (да и того, по правде говоря, нет). На остальных влияют разные обстоятельства. Например на ту секунду когда он стал преступником и у него возник замысел у него не оказалось ножа или нож не пробил пуховик жертвы.
Первая попавшаяся ссылка говорит что не только. В госты мне смотреть в лом
Возможно дело в вероятности, вероятность зарезать ножом из хорошей стали больше чем из плохой или топором (потому, что топор не все таскают с собой). Для кухонных нужд тоже нужно что-то использовать => надо какие-то ножи разрешать.
создавались специально для преступности != способствуют преступности. Не знаю, насколько бейсбольные биты спосоствуют преступности, но ножи с определенными параметрами считаются холодным оружием и их оборот ограничен. Как и продажа и распитие алкоголя.
Почему?
Во-первых, не обязательно запрещать то, что способствует преступности.
Во-вторых, ножи и спиртные напитки способствуют преступности и запрещены (но не все и не везде). Мне кажется, что тут скорее аналогия с освещением.
Кто такие адепты? Вот например известная книжка http://xunitpatterns.com/Principles%20of%20Test%20Automation.html читать с use the front door first. Вы не путаете покрытие приватных методов с тестированием реализации?
Тесты должны рефакториться так же как и код.
Юнит тесты знают только об итерфейсе юнита.
При изменении надо следить чтобы другие требования не нарушались.
При правильно написанных тестах надо править только тесты, которые тестируют изменяемое требование.
https://testing.googleblog.com/2015/04/just-say-no-to-more-end-to-end-tests.html
Отрефакторить. Требования никуда не деваются — меняется только форма их представления
Я не аппелирую к авторитету вообще. Большинство в моих рассуждениязх не авторитет — а часть предметной области. К сожалению, мы не будем сейчас исследовать это большинство научными методами, так что придется обратиться к его модели в наших головах.
В моей голове слово личинка по отношению к ребенку не нейтрально само по себе. И я даже не знаю к какой контекст надо его поставить, чтобы оно стало хотя бы нейтральным.
Эту пошлость я слышал еще в детстве :). Я с ней несогласен.
Мне кажется, что в слове недоразвитый есть некий уничижительный оттенок:
НЕДОРАЗВИ́ТЫЙ, недоразвитая, недоразвитое; недоразвит, недоразвита, недоразвито. Остановившийся в росте раньше времени; не достигший полного развития. Недоразвитый мозг.
то, что у слова можно при помощи дополнительных приемов менять оттенок не означает, что у него самого по себе оттенка нет. Они есть и даже указываются в словарях.
Вы же сами сказали:
Я живу среди большинства. Модель большинства в вашей голове как относится к тому, чтобы их детей называли личинками?
Нет, конечно :)
Я думаю, у гиктаймс аудитория смещена в ссторону молодых тезнозадротов-мужчин (в хорошем смысле слова — сам таким был лет 20 назад). Не знаю есть ли у вас дети, но если нет и они появятся, то вы скорее всего почувствуете эти врожденные программы. :)
Это вообще не про "думать"
Котенок менее самомтоятельный чем личинка. Только высокоорганизованное животное может себп позволить несамостоятельное нечто — у типичных насекомых нет просто достаточно мегафлопсов чтобы забоиться о потомстве. Мне в лом сейчас искать подтверждения, но кажется, что муравьи и пчелы могут себе позволить такую заботу.
Речь не идет обо мне, а о большинстве. Для большинства характерно представление о личинке как о чем-то противном. Также именно слово личинка (а например не опарыш) используется в инетах для обозначение ребенка в негативном контексте.
Да.
Ok. Вы признаете, что "личинка" использовалось вами уничижительном смысле.
Почему то, что их отдельно отмечают значит что все они в целом более значимы чем все взрослые? Может быть просто читателей интересно количество детей вследствие врожденной программы заботы о детях.
Не так, вы действительно не понимаете что "котенок" и "личника" воспринимается по разному? Вы действительно не знаете, что именно слово "личинка" используется с инетах в уничижительном смысле в отношении детей?
Каждая шахматная партия проводится изолированно, в шахматах фигуры получаются в качестве начального состояния и их количество не увеличивается, в шахматах, фигуры живут вечно, пока не погибнут от внешней причины. Короля нельзя заменить выросшей пешкой.
В жизни количество взрослых равно количеству детей доживших до взрослого состояния, все взрослые умирают и новых взрослых взять неоткуда.
Получаем что есть существа которые:
Следовательно
Именно поэтому люди о детях заботятся больше чем о взрослых
P.S. Если человек искренне думает, что слово "личинка" не имеет уничижительного оттенка (и это не троллинг, сознательный или бессознательный), то ему ИМХО нужны подсказки как Шелдону типа "sarkasm" чтобы социальная дизадаптированность не нанесла ему ущерба ;). Представляю что будет, если он спросит своего начальника, например, "А сколько вашей младшей личинке лет?"