මගේ කේතය ලිවීමට සහ ඩෙස්ක්ටොප් පරිගණකයක් භාවිතයෙන් එය අනුකරණය කිරීමට / පරීක්ෂා කිරීමට මට හැකි ක්රමයක්
ඩෙස්ක්ටොප් පරිගණකයක් භාවිතයෙන් "ඒකක පරීක්ෂණයක්" කිරීමට ඔබ අදහස් කරන්නේ නම්, මා විසින් ලියන ලද පුස්තකාලයක් 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
ඉදිකිරීම් මගින් නිරූපණය කෙරේ) ඔබේ පුස්තකාලය කිරීමට ඔබ අපේක්ෂා කළ දෙයට ගැලපෙන බව තහවුරු කරන්න.