testing - कैसे एक निर्देशिका के तहत सभी crates परीक्षण करने के लिए recursively?




rust rust-cargo (3)

मैं अभी परीक्षण नहीं कर सकता, लेकिन मेरा मानना ​​है कि आप cargo test --all उपयोग कर सकते हैं - ऐसा करने के लिए सभी करें

कुछ परियोजनाओं में कई बक्से शामिल हैं, जो प्रत्येक परीक्षण में मैन्युअल रूप से चलाने के लिए परेशानी पैदा करता है।

cargo test चलाने के लिए एक सुविधाजनक तरीका क्या है?


आप कार्गो कार्यक्षेत्र सुविधा का उपयोग कर सकते हैं यह टोकरे संग्रह एक Makefile साथ संयोजन में इसका उपयोग करता है, जिसका उपयोग प्रत्येक टोकरा को अपने दम पर करने के लिए किया जा सकता है

(वर्कस्पेस सुविधा कई बार सामान्य निर्भरता को संकलित नहीं करने में मदद करती है)


आप एक खोल स्क्रिप्ट का उपयोग कर सकते हैं इस उत्तर के अनुसार, यह

find . -name Cargo.toml -printf '%h\n'

Cargo.toml युक्त निर्देशिका प्रिंट करेंगे, इसलिए इसे बाकी सभी मानक शैल Cargo.toml हमें पैदा होता है

for f in $(find . -name Cargo.toml -printf '%h\n' | sort -u); do
  pushd $f > /dev/null;
  cargo test;
  popd > /dev/null;
done

Cargo.toml (बक्से के लिए एक अच्छी शर्त) युक्त उन सभी निर्देशिकाओं को पुनरावृति करना होगा और उनमें cargo test करना होगा।





rust-cargo