Общее утверждение, предупреждающее хрупкие модульные тесты, применяется главным образом к магазинам, которые не полностью охватили поблочное тестирование. Например, при попытке преобразовать из наличия никаких тестов к наличию полного комплекта модульных тестов, или когда проект является пилотным проектом поблочного тестирования. В этих случаях разработчики привыкают к ложным положительным сторонам от модульных тестов и начинают игнорировать их. Тогда модульные тесты отстают от производственного кода и или оставлены позади или требуют, чтобы серьезное усилие обновило.
я сказал бы, что необходимо всегда стремиться к наименее хрупким тестам, Вы можете тот полностью тест Ваша функция/модуль, но если Вы имеете 1 или 2, которые являются хрупкими, необходимо быть хорошо в большинстве случаев.
я. Вот как любой документ или фрагмент XML может быть встроен в таблицу стилей XSLT и использован во время преобразования :
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:my="my:my">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<my:menu>
<menu>
<choice>A</choice>
<choice>B</choice>
<choice>C</choice>
</menu>
</my:menu>
<xsl:template match="/">
<xsl:copy-of select="document('')/*/my:menu/*"/>
</xsl:template>
</xsl:stylesheet>
Когда это преобразование применяется к любому документу XML (не используется в этом пример), желаемый результат (просто копирование XML) получается :
<menu xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:my="my:my">
<choice>A</choice>
<choice>B</choice>
<choice>C</choice>
</menu>
Помните : любой XML может быть встроен в таблицу стилей XSLT, если он включен в элемент пространства имен (пространство имен, а не пространство имен XSLT), и этот элемент переноса находится на глобальном уровне (дочерний элемент элемента <xsl:stylesheet>
(верхний)).
II. Доступ к файлу меню XML, который находится в отдельном файле XML :
Для этого нам нужно лишь немного изменить предыдущий пример:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<xsl:copy-of select="document('menu.XML')/*"/>
</xsl:template>
</xsl:stylesheet>
Если меню Файл XML находится в файле 'menu.XML'
(в том же каталоге, что и файл таблицы стилей XSLT, тогда это преобразование дает точно такой же результат , что и предыдущий:
<menu>
<choice>A</choice>
<choice>B</choice>
<choice>C</choice>
</menu>
. 1122]: в обоих случаях мы используем стандартную функцию XSLT document()
Как правило, определяется переменная глобального уровня, значение которой является результатом вызов функции document()
. Затем эта переменная и ее содержимое доступны через выражения XPath во время преобразования.
У меня есть сообщение в блоге по этому вопросу. Вы используете document (), чтобы получить другой XML и передать содержимое с помощью параметров.