Как я могу утверждать в сценариях VBScript? - PullRequest
4 голосов
/ 20 февраля 2010

Какой хороший способ использовать утверждения в VBScript сценариях?

Есть ли для него встроенные функции или его нужно будет эмулировать? Что такое лучшая практика?

Одним из приложений является проверка на наличие объектов Nothing во время разработки.

Ответы [ 2 ]

6 голосов
/ 20 февраля 2010

Оперативный ответ (для других, кому это может понадобиться) - определить эту функцию из Код Розетты :

    sub Assert( boolExpr, strOnFail )
        if not boolExpr then
            Err.Raise vbObjectError + 99999, , strOnFail
        end if
    end sub

Призвание:

    Set obj2 = Nothing
    Assert Not obj2 Is Nothing, "obj2 is Nothing!"

Выход:

    someScript.vbs(17, 3) (null): obj2 is Nothing!
3 голосов
/ 20 февраля 2010

К сожалению, я не верю, что в VBScript есть что-то встроенное. Вам нужно будет определить свой собственный метод Assert и, возможно, использовать сценарий сборки препроцессора или что-то подобное, чтобы удалить их при создании релизной копии вашего сценария. (На самом деле удаление (по крайней мере, комментирование) вызова Assert лучше, чем просто заставлять тело Assert ничего не делать в выпущенном коде.)

...