При необходимости в более определенной информации о Windows, это может помочь.
my $osname = $^O;
if( $osname eq 'MSWin32' ){{
eval { require Win32; } or last;
$osname = Win32::GetOSName();
# work around for historical reasons
$osname = 'WinXP' if $osname =~ /^WinXP/;
}}
Полученный от sysinfo.t, который я записал исходной версии.
, Если Вам нужна более подробная информация:
my ( $osvername, $major, $minor, $id ) = Win32::GetOSVersion();
Как уже отмечалось, у Огурца и Должности совершенно разные цели. Вы можете думать о Cucumber как о тестовой среде «вид с высоты 10 000 футов» - вы определяете широкую функцию или конкретное взаимодействие с пользователем и убедитесь, что все работает вместе. Shoulda предназначен для модульного тестирования - вы выбираете конкретную модель и тщательно тестируете все мелкие кусочки функциональности для этой отдельной части.
Обычно вы хотите использовать такие структуры вместе. Например, большинство ваших общих, высокоуровневых тестов можно написать на Cucumber, но когда в вашей системе есть особенно сложный или непрозрачный фрагмент кода, вы можете выполнить детализацию с помощью Shoulda или RSpec, чтобы проверить детали.
У них совершенно разные цели. Shoulda - это расширение для модульного тестирования, созданное на основе Test :: Unit.
Cucumber - это структура приемочного / функционального тестирования, которая может использовать Test :: Unit / RSpec / Whatever для выполнения утверждений.
Shoulda можно напрямую сравнить в RSpec, например.
Я не вижу, чтобы кто-нибудь еще упоминал, что вы действительно можете использовать Shoulda в качестве «тестовой машины» для Cucumber.
Cucumber проходит приемочные испытания. Shoulda - это фреймворк для модульного тестирования.
Shoulda является расширением инфраструктуры Test :: Unit
, которая состоит из тестовых макросов, утверждений и помощников. Shoulda - более красивый способ написания модульных тестов.
Cucumber - переработанный вариант RSpec «Story runner» - это инструмент для Behavior-Driven Development . Это позволяет вам писать исполняемые спецификации на бизнес-читаемом предметно-ориентированном языке. Огурец - это скорее инструмент приемочного тестирования.
Таким образом, огурец и Shoulda имеют разные цели (даже если Shoulda может использоваться для BDD).