Обратите внимание, что один из способов сделать это - создать тесты JUnit в Java SE и использовать APDU для связи с классами в Java Card. Очевидно, что это не то же самое, что прямое тестирование классов в Java Card, но нищие не могут быть выбирающими. В общем, вам нужно создать апплет, который сделает некоторые преобразования для вас. Этот метод используется в ответе jCardSim от Михаила - его, конечно, можно использовать и на реальной карте, но вы потеряете любое покрытие кода и - возможно - параметры отладки.
Другой метод (для которого у меня есть собственное, рабочее решение) - это реализовать модульные тесты на карте и вызывать их из тестовой среды JUnit из Java SE. Это много работы; Я должен был сгенерировать свою собственную реализацию List
, чтобы это работало. Это того стоило; это позволило мне использовать определенные в Java Card объекты и типы из Java Card. Насколько я знаю, альтернативы с открытым исходным кодом для этого не существует.
Это может быть возможность добавить тестовую среду JUnit в jCardSim и тестировать классы напрямую, поскольку полная JRE доступна во время компиляции апплета. Обратите внимание, что jCardSim еще не является полностью функционирующей картой Java Card (например, нет сброса памяти, как указано в API, нет поддержки транзакций и т. Д. И т. Д.), Поэтому помните об этом при тестировании кода, специфического для карты Java.