Вы можете использовать плагин нос-ittr (pip install nose-ittr
).
Очень легко интегрироваться с существующими тестами, минимальные изменения (если они есть) требуются. Он также поддерживает плагин многопроцессорной обработки носа .
Нельзя также настроить функцию setup
для каждого теста.
@ittr(number=[1, 2, 3, 4])
def test_even(self):
assert_equal(self.number % 2, 0)
Также возможно для передачи параметров nosetest
, например, с их встроенным плагином attrib
, таким образом вы можете запустить только конкретный тест с определенным параметром:
nosetest -a number=2
Это может быть не самый простой вариант, но по крайней мере он должен выполнить эту работу. Не проверял его, поэтому он может потребовать некоторых изменений. Он считывает файл, и когда он выполняется, он создает новый файл, удаляя тэг </xml>
, добавляя содержимое, а затем добавляя в конец тег </xml>
.
var fs = require('fs');
var xmlFile;
fs.readFile('someFile.xml', function (err, data) {
if (err) throw err;
xmlFile = data;
var newXmlFile = xmlFile.replace('</xml>', '') + 'Content' + '</xml>';
fs.writeFile('someFile.xml', newXmlFile, function (err) {
if (err) throw err;
console.log('Done!');
});
});
Хороший подход состоит в том, чтобы разбить файл на файл-обертку и файл body. Обертка содержит только внешний тег и ссылку на сущность для файла body. Затем ваша программа может быть добавлена в конец файла body, тогда как любой, кто читает файл в формате XML, должен прочитать файл-оболочку. Файл-оболочка будет выглядеть примерно так:
<!DOCTYPE xml [
<!ENTITY e SYSTEM "body.xml">
]>
<xml>&e;</xml>
Использование «xml» в качестве имени элемента, кстати, является плохой практикой. Все имена, начинающиеся с «xml», зарезервированы для будущего использования W3C.
Этот подход может не работать, если вы читаете XML в браузере. Я думаю, что некоторые браузеры XML-парсеров не поддерживают внешние объекты.