Я не думаю, что это возможно для модульного тестирования. В этой реализации метод класса полагается на внешнее состояние (значение exampleVariable) для выполнения своей работы. Вместо этого лучше передать эти данные в качестве аргумента метода:
export class Class {
testMethod(exampleVariable) {
if (!exampleVariable) {
throw new Error('There is no exampleVariable!');
}
}
}
Тест будет выглядеть примерно так:
let myClass = new Class();
expect(myClass.testMethod(false)).toThrow(new Error('There is no exampleVariable!'))
Cython способен к выполнению этого. Это - полуветвление Пирекса, и это может перенести существующие структуры данных и выставить их Python. На самом деле это - один из разделов в руководстве пользователя. Cython относительно прост в использовании, и он включает формат вывода HTML, который показывает весь сгенерированный код, а также выделенные горячие точки, где оптимизация могла быть применена.
Смотрите на генерацию Вашей привязки Python при помощи инструмента, такой как pybindgen. Эти парни пытаются сделать превосходящий обязательный генератор, они говорят о недостатках других инструментов (например, Большой ГЛОТОК) на их первой полосе.