Перейти к содержимому

Фотография

VBScript и Class'es


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 LioLick

LioLick

    Новый участник

  • Members
  • Pip
  • 10 сообщений
  • ФИО:Лакутин Алексей

Отправлено 11 октября 2005 - 06:32

Добрый день!
В VBScript'е есть такое понятие как Class.
И TestComplete позволяет использовать классы, определенные в том же юните где они и используются.
Не подскажете, есть ли возможность использовать классы, определенные в другом юните того же проекта?
При использовании директивы 'USEUNIT получаем ошибку "Class not defined".

Спасибо.
  • 0

#2 natali.ancharuk

natali.ancharuk

    Новый участник

  • Members
  • Pip
  • 72 сообщений
  • ФИО:Анчарук Наталья Владимировна

Отправлено 11 октября 2005 - 11:39

в начале каждого юнита необходимо ставить такую зпись в первом юните так
'USEUNIT Unit2  

во втором юните так

'USEUNIT Unit1  

  • 0

#3 Dmitry N

Dmitry N

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 742 сообщений
  • ФИО:Николаев Дмитрий
  • Город:Где-то в России

Отправлено 12 октября 2005 - 08:19

Здравствуйте.

По всей видимости, так сделать нельзя. Как вариант, могу предложить использовать встроенную фичу TestComplete - Object-Driven Testing (ODT). С ее помощью можно создавать классы с работать с ними из любого модуля. Подробнее в разделе справки "Object-Driven Testing".
  • 0
С уважением,
Дмитрий

#4 LioLick

LioLick

    Новый участник

  • Members
  • Pip
  • 10 сообщений
  • ФИО:Лакутин Алексей

Отправлено 12 октября 2005 - 09:35

Большое спасибо за ответы.
Да, я знаю про ODT, но это не совсем то, что хотелось бы.
  • 0

#5 BJk

BJk

    Новый участник

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Николай

Отправлено 18 ноября 2005 - 14:26

Можно.
Жаль заинтересовался этим топиком только спустя месяц, поэтому видимо ответ уже не пригодится автору.

Действительно создать объект объявленный в другом юните нельзя, но можно создать функцию конструктор в юните, где объявлен класс, которая будет возвращать созданный объект.

Пример - Unit UTest и Unit UCHelloWorld:

Unit UTest
'USEUNIT UCHelloWorld

Sub TestHello
    set hw = HelloWorldConstructor
    hw.Hello
    set hw = nothing
End Sub

Unit UCHelloWorld
function HelloWorldConstructor
    set HelloWorldConstructor = New CHelloWorld
end function

Class CHelloWorld
    Function Hello
         Msgbox("Hello World!")
    End Function
End Class

У меня работает - показыватеся окошко с текстом "Hello World!"
  • 0

#6 LioLick

LioLick

    Новый участник

  • Members
  • Pip
  • 10 сообщений
  • ФИО:Лакутин Алексей

Отправлено 18 ноября 2005 - 14:33

Да нет, почему же ;)
Тема действительно несколько отошла на 2-й план (ждем лицензионный TestComplete), но Ваш ответ очень нам поможет.
Большое спасибо!
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных