एक तरह से मैं अपना कोड लिख सकता हूं और डेस्कटॉप कंप्यूटर का उपयोग करके उसका अनुकरण / परीक्षण कर सकता हूं
यदि आप डेस्कटॉप कंप्यूटर का उपयोग करके "यूनिट टेस्ट" करने में सक्षम हैं, तो मैं एक पुस्तकालय की पेशकश कर सकता हूं जिसे मैंने लिखा है arduino_ci ।
यह अनुकरण की पेशकश नहीं करता है। आप अपने परीक्षणों को कोड में व्यक्त करेंगे। उदाहरण के लिए, यहां संदर्भ दस्तावेज से लिया गया एक परीक्षण है जो एक पोर्ट पर लिखे गए डेटा को मान्य करता है:
unittest(pin_history)
{
GodmodeState* state = GODMODE();
int myPin = 3;
state->reset(); // pin will start LOW
digitalWrite(myPin, HIGH);
digitalWrite(myPin, LOW);
digitalWrite(myPin, LOW);
digitalWrite(myPin, HIGH);
digitalWrite(myPin, HIGH);
// pin history is queued in case we want to analyze it later.
// we expect 6 values in that queue.
assertEqual(6, state->digitalPin[1].size());
bool expected[6] = {LOW, HIGH, LOW, LOW, HIGH, HIGH};
bool actual[6];
// convert history queue into an array so we can verify it.
// we expect to find 6 values: the 5 we set, plus the initial LOW
// and this is where/how we assert that
int numMoved = state->digitalPin[myPin].toArray(actual, 6);
assertEqual(6, numMoved);
// verify each element
for (int i = 0; i < 6; ++i) {
assertEqual(expected[i], actual[i]);
}
}
व्यवहार में, आप शायद digitalWrite
सीधे फ़ंक्शन को कॉल नहीं कर रहे हैं - आप अपनी लाइब्रेरी में एक फ़ंक्शन कहेंगे, फिर सत्यापित करें कि "विश्व स्थिति" ( GODMODE
निर्माण द्वारा यहां का प्रतिनिधित्व किया गया है ) मेल खाता है जो आपने अपने पुस्तकालय से अपेक्षा की थी।