Агностик контекста Среда тестирования JavaScript

Структуры sigevent sigev_notify_function не ожидают объект std::function, он ожидает указатель функции:

void       (*sigev_notify_function) (union sigval);

Объект std::function может быть создан неявно из указателя функции, но обратное невозможно. Вы должны использовать указатель на фактическую функцию.

Этого можно добиться, используя callcbk.target(), чтобы получить указатель на исходный указатель функции, но тогда callcbk несколько бессмысленно.

11
задан Zach 29 January 2009 в 04:25
поделиться

5 ответов

Хорошо, вот что-то, что я просто варил на основе некоторой более ранней работы. Я надеюсь, что это удовлетворило бы Ваши потребности.

jsUnity

Легкая Universal среда тестирования JavaScript

jsUnity является легкой универсальной средой тестирования JavaScript, которая является агностиком контекста. Это не полагается ни на какие возможности браузера и поэтому может быть выполнено в HTML, ASP, WSH или любом другом контексте, который использует JavaScript/JScript/ECMAScript.

Демонстрационное использование в HTML

<pre>
<script type="text/javascript" src="../jsunity.js"></script>
<script type="text/javascript">
function sampleTestSuite() {
    function setUp() {
        jsUnity.log("set up");
    }

    function tearDown() {
        jsUnity.log("tear down");
    }

    function testLessThan() {
        assertTrue(1 < 2);
    }

    function testPi() {
        assertEquals(Math.PI, 22 / 7);
    }
}

// optionally wire the log function to write to the context
jsUnity.log = function (s) { document.write(s + "</br>"); };
var results = jsUnity.run(sampleTestSuite);
// if result is not false,
// access results.total, results.passed, results.failed
</script>
</pre>

Вывод вышеупомянутого:

2 tests found
set up
tear down
[PASSED] testLessThan
set up
tear down
[FAILED] testPi: Actual value does not match what's expected: [expected] 3.141592653589793, [actual] 3.142857142857143
1 tests passed
1 tests failed
4
ответ дан 3 December 2019 в 11:04
поделиться

Вы могли бы хотеть проверить Тест YUI. Это должно хорошо работать без DOM.

1
ответ дан 3 December 2019 в 11:04
поделиться

Они работают везде, где JavaScript включен.

поблочное тестирование scriptaculous

QUnit

0
ответ дан 3 December 2019 в 11:04
поделиться

Является JsUnit какой-либо справкой? Это разработано для выполнения в браузере, но это выглядит относительно абстрактным.

0
ответ дан 3 December 2019 в 11:04
поделиться

Также есть JSpec

JSpec - чрезвычайно маленькая, но очень мощная среда тестирования. Используя собственную грамматику и препроцессор, JSpec может работать так, как никакая другая среда тестирования JavaScript. Это включает в себя множество полезных сокращенных литералов, очень интуитивно понятный / читаемый синтаксис, а также не загрязняет прототипы основных объектов.

JSpec также может запускаться различными способами, например, через терминал с поддержкой Rhino, через браузеры, использующие DOM или консольные форматеры, или, наконец, с помощью среды тестирования Ruby JavaScript, которая запускает браузеры в фоновом режиме, отправляя отчеты на терминал.

0
ответ дан 3 December 2019 в 11:04
поделиться
Другие вопросы по тегам:

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