Извините, мы рассматривали возможность предоставления этой функции время от времени, но не нажали на курок.
Для начала, часто утверждение было бы более длинным, чем выписывание чека самостоятельно. Сравните:
assertThat(doc.matches(".*the-regex.*")).isTrue();
assertThat(doc).displayedAs("the doc").containsMatch("the-regex");
(Чтобы быть справедливым, есть случаи, в которых не так просто написать чек самостоятельно.)
1115 И в любом случае, большая часть цели Истины - создавать информативные сообщения об ошибках. В тех случаях, когда у людей есть веские основания опускать эту информацию, они могут прибегнуть к isTrue()
утверждениям.
(Чтобы быть справедливым, сбой isTrue()
приводит к появлению полезного сообщения , в то время как вы хотели бы, чтобы «ожидалось, что он не будет соответствовать: my_regex.» вернемся к assertWithMessage
, как вы сказали, но теперь ваше утверждение снова становится длинным, и вы должны повторить «my_regex», если хотите, чтобы оно было в сообщении.)
(Плюс, это Приятно иметь возможность всегда писать утверждение в идиоматической форме Истины, а не переключаться на неидиоматическую, когда требуется переопределить сообщение.)
Как отмечалось во всех скобках выше, эта функция есть его использование. «Реальные» проблемы в основном:
Здесь есть запрос связанной функции, который позволяет Truth обрезать значения после определенной длины. На самом деле мы получили обратную связь с жалобами на случаи, когда мы выполняем усечение, поэтому здесь необходимо соблюсти баланс :) Но нам кажется разумным предоставить какой-то настраиваемый предел, возможно, основанный на системное свойство. Я приглашаю вас подать сообщение о проблеме (и еще одну для «переопределить сообщение об ошибке по умолчанию», если хотите, даже если я подозреваю, что мы этого не сделаем), хотя я должен предупредить вас, что следующие квартал или два, вероятно, не увидят много развития Истины.
Yes it can. You simply define a VBA function in a module. See http://www.vertex42.com/ExcelArticles/user-defined-functions.html for a nice introduction with examples.
Here's a simple example:
Option Explicit Function MyCustomFunction(input) MyCustomFunction = 42 + input End Function
A1: 2 A2: =MyCustomFunction(A1)
Слово input необходимо заменить, так как это базовое ключевое слово. Вместо этого попробуйте num. Вы также можете пойти дальше, указав тип, например вариант.
Function MyCustomFunction(num As Variant)
MyCustomFunction = 42 + num
End Function