SUM
не удается из-за сравнения типов - вы не можете суммировать значения разных типов, будучи выражением (вероятно, Double
) с 0, Integer
. Ответ MikeTWebb делает явное преобразование типов, чтобы обойти эту ошибку. Это хорошо для этого конкретного примера, являющегося суммой, однако это не даст точного результата, если вы хотите получить среднее (равное Sum / Count
) значений, где тип равен P. Это потому, что 0 является значением и будет быть включенным в вычисление усреднения, когда вы действительно хотите, чтобы эти значения были исключены из расчета.
Другой вариант - использовать Nothing
вместо 0:
=Sum(IIF(Fields!TYPE.Value = "P", Fields!EXT_QTY.Value * Fields!PRICE.Value, Nothing))
Это решает ошибку сравнения типов без необходимости явного приведения типов и является лучшим решением, когда вы используете агрегаты, где ли значение существует или нет, имеет значение для результата, как Average
.
Hudson фактически позволяет игнорировать ошибки теста. Его просто нужно сдать в собственность в Гудзоне. -Dmaven.test.failure.ignore = false
There are two properties to the junit task
errorProperty="maven.test.error"
failureProperty="maven.test.failure"
After the junit tag you should be able to do something like this
<fail message="Test failed!!!" if="maven.test.error" />
<fail message="Test failed!!!" if="maven.test.failure" />
But don't nail me on this
Если вы используете Ant для запуска сборки, вы можете настроить задачу JUnit на остановку в случае сбоя. Вы это имеете в виду?
Look through your job configuration, I believe there is a property (check box) that says fail on test failure, or something of the sort. We use this on some of our projects at my work.
Otherwise if you want to use the Ant method as suggested maven can run ant tasks...
На самом деле не рекомендуется отказываться от сборки, если тесты не удались при использовании hudson. Проблема в том, что hudson не сообщает о состоянии тест прошел / не прошел, если сборка не удалась. Если сборка не удалась, hudson считает, что она не была завершена должным образом, и, таким образом, не влияет на результат.