Как делают меня модульный тест веб-сайт без класса бэкенда?

Друг предложил вместо того, чтобы иметь класс бэкенда, который проверяет полномочия пользователя в каждой государственной функции (результаты кэшируются и не статичные), у меня должен быть более 'оптимизированный' сайт. Когда я отбросил бэкенд, я также отбрасываю код базы данных и объединил их в соответствующих полномочиях пользователя (основывайте пользователя, logged_in_user, модератор).

Код сайта выглядит лучше теперь, когда слияние их уменьшило LOC (тонны LOC на самом деле), и я пишу Метод () вместо бэкенда. Метод (), который увеличивает удобочитаемость. Однако теперь, когда у меня нет бэкенда, как я, предполагают к модульному тесту мой код? и что относительно вещей как пользователь файл загружают с различными расширениями? (txt по сравнению с jpg по сравнению с FLAC)

5
задан 26 February 2010 в 11:06
поделиться

4 ответа

Знаете ли вы, что VB6 является статическим и динамическим?

Если объявляются переменные с заданным типом, то вы получаете статическое поведение:

Dim name as Label

Теперь вы можете получить доступ только к членам имени, которые являются Label s и intellisense знает это.

При наличии класса и добавлении ключевого слова implements класс может реализовать методы другого класса. Это наследование интерфейса, которое позволяет VB6. Вы можете получить полиморфизм во время выполнения.

Вы также можете объявить переменные так:

Dim proxy As Object

Теперь intellisense не дает вам никакой помощи и VB6 позволит вам сделать все, что вам нравится с прокси :

proxy.foo()

Эта строка может сидеть внутри скомпилированной и запущенной программы и не повлечь за собой никаких правонарушений, особенно если она не запущена сама. Поиск выполняется только при выполнении строки.

Вы также можете выполнить:

set proxy = <any instance>

, и это будет выполняться. Неважно, имеет ли < любой экземпляр > метод foo или нет.

И тогда может быть назначен любой экземпляр любого класса, реализующего foo , и вызванный метод и VB6 будут счастливы.

Обратите внимание, что по мере того, как вы становитесь все более динамичным, существуют ограничения производительности во время выполнения.

-121--1318337-

У меня была такая же проблема при попытке декодирования изображения из массива байтов. После некоторых экспериментов решение, по-видимому, заключается в назначении некоторого временного хранилища в параметрах BitmapFactory. Попробуйте:

Options options = new Options();
options.inTempStorage = new byte[256];
Bitmap newMapBitmap = BitmapFactory.decodeStream(instream, null, options);

Если проблема не решена сразу, попробуйте увеличить размер временного массива. Я думаю, что большие растровые файлы нуждаются в большем буфере для декодирования.

-121--2492531-

Вы всегда можете использовать что-то вроде selenium , чтобы браузер управлял вашим веб-сайтом, а затем утверждать различные условия.

Технически не единичные тесты, я думаю. Но лучше, чем вообще никаких испытаний.

5
ответ дан 13 December 2019 в 19:25
поделиться

Вы можете использовать WatiN для автоматизации тестирования браузера...

3
ответ дан 13 December 2019 в 19:25
поделиться

Как сказал Codeape, есть альтернативы, чем модульное тестирование, альтернативой является Visual Studio's Website Test

1
ответ дан 13 December 2019 в 19:25
поделиться

Google говорил об этом на GTAC 2008. Они начали создавать заглушки и макеты для бэкэнда, а затем запускали свои тесты на селен для внешнего интерфейса. Это означает, что, когда интерфейс выполняет вызовы серверной части, он возвращает что-то значимое.

Видео выступления здесь http://www.youtube.com/watch?v=5jjrTBFZWgk

2
ответ дан 13 December 2019 в 19:25
поделиться
Другие вопросы по тегам:

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