Ich versuche, alle 10 Ergebnisse von 10 Fällen von For-Schleife zu erhalten. aber wenn ich renne, gibt es für mich einfach das erste Ergebnis des ersten Mals. jede Hilfe für diese Bedingung, das ist mein ganzer Code, es enthält 2 Dateien, ich habe versucht, es oft zu beheben.Unit Test gibt nur 1 Ergebnis von 10 Fällen aus Schleife
//file BankAccount.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Bank //just want to demo this thing, it hasn't completed
{
namespace BankAccountNS
{
public class BankAccount
{
private double m_balance;
public BankAccount(double balance)
{
m_balance = balance;
}
public bool getMoney(double amount) //funtion get money from account
{
if (amount > m_balance || amount < 0) //check money
{
return false;
}
return true;
}
}
}
}
//file BankAccountTests.cs
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Bank.BankAccountNS;
namespace BankTest
{
[TestClass]
public class BankAccountTests
{
[TestMethod]
public void TestEveryDebit(BankAccount Ba) //test every case from TestAll
{
Assert.IsTrue(Ba.getMoney(24000));
}
[TestMethod]
public void TestAll() //create all cases
{
for(int i = 0; i < 10; i++)
{
BankAccount Ba = new BankAccount(23996 + i);
TestEveryDebit(Ba);
}
}
}
}
Hilfe von anderen :( –
Was genau ist das Problem, das Sie haben? Auch das sieht aus wie MSTest, die soweit ich weiß parametrisierte Komponententests nicht zulassen. Wenn nichts anderes, würde ich Think 'TestEveryDebit' sollte nicht als '[TestMethod'] markiert werden.' TestAll' sollte weiterhin als '[TestMethod]' markiert werden und 'TestEveryDebit' sollte wahrscheinlich privat sein (glaube ich). – Kritner
Auch wenn Sie es wollten folge deine FOR Schleife durch, irgendwann würde dein Test Assert false zurückgeben, also bin ich nicht wirklich klar was du testest – Kritner