Рабочие модульные тесты с Носом в среде Python, такие как майя Autodesk?

Прежде всего, вам не нужно удваивать обратную косую черту, если standard_conforming_strings не включено:

standard_conforming_strings (boolean)

[ 1113] Это определяет, будут ли обычные строковые литералы ('...') обрабатывать обратную косую черту буквально, как указано в стандарте SQL. Начиная с PostgreSQL 9.1, по умолчанию включено (предыдущие версии по умолчанию выключены). Приложения могут проверить этот параметр, чтобы определить, как будут обрабатываться строковые литералы. Наличие этого параметра также может рассматриваться как указание на то, что синтаксис escape-строки (E '...') поддерживается. Синтаксис Escape-строки (, Раздел 4.1.2.2 ) следует использовать, если приложение хочет, чтобы обратные слеши обрабатывались как escape-символы.

blockquote>

Далее, вам нужно использовать глобальный модификатор g для замены всех совпадений , см. 9.7. Сопоставление с образцом section :

Флаг i определяет регистрозависимое сопоставление, а флаг g указывает замену каждой совпадающей подстроки, а не только первой.

blockquote>

Используйте

SELECT regexp_replace('09,09,41,41,42,42,49,49,49,49,200,200,400,400,500,500', '(?<=,|^)([^,]*)(,\1)+(?=,|$)', '\1', 'g') AS lignes

enter image description here

См. Онлайн-демонстрацию . [ 1123]

Если вы хотите сделать шаблон более эффективным, используйте двойное отрицание:

'(?

6
задан Soviut 12 March 2009 в 17:49
поделиться

1 ответ

Используйте mayapy исполняемый файл, включенный в Вашу установку майя вместо стандартного исполняемого файла Python.

Для этой работы необходимо будет выполнить нос программно. Создайте названный файл Python runtests.py и помещенный это рядом с Вашими тестовыми файлами. В нем включайте следующий код:

import os
os.environ['PYTHONPATH'] = '/path/to/site-packages'

import nose
nose.run()

Так как mayapy загружает свой собственный pythonpath, он не знает о каталоге пакетов сайта, где нос. os.environ используется для установки этого вручную в сценарии. Дополнительно можно установить это как системную переменную также.

Из командной строки используют mayapy приложение для выполнения runtests.py сценарий:

/path/to/mayapy.exe runtests.py

Вы, возможно, должны импортировать maya.standalone в зависимости от того, что делают Ваши тесты.

import maya.standalone
maya.standalone.initialize(name='python')
15
ответ дан 8 December 2019 в 16:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: