说起接口测试,网上有很多例子,但是当初做为新手的我来说,看了不不知道他们说的什么,觉得接口测试,好高大上。认为学会了接口测试就能屌丝逆袭,走上人生巅峰,迎娶白富美。因此学了点开发知识后,发现接口测试其实都是人们玩的名词罢了。接口测试,真心很简单。它只不过是数据传递是一种表现而已
什么是接口?其实,接口简单理解就是一种约定,使得实现接口的类或结构在形式上保持一致。个人觉得,使用接口可以使程序更加清晰和条理化,这就是接口的好处,但并不是所有的编程语言都支持接口,C#是支持接口的。注意,虽然在概念上,C#接口类似于COM接口,但他们的底层结构是不同的。那么,我们来看一下如何声明和使用接口。
class SaverAccount : IBankAccount { private decimal balance;
public decimal Balance { get { return balance; } }
public void PayIn(decimal amount) { balance += amount; }
public bool Withdraw(decimal amount) { if (balance >= amount) { balance -= amount; return true; } Console.WriteLine("Withdraw failed."); return false; }
public override string ToString() { return String.Format("Venus Bank Saver:Balance={0,6:C}", balance); } }
class GoldAccount : IBankAccount { private decimal balance;
public decimal Balance { get { return balance; } }
public void PayIn(decimal amount) { balance += amount; }
public bool Withdraw(decimal amount) { if (balance >= amount) { balance -= amount; return true; } Console.WriteLine("Withdraw failed."); return false; }
public override string ToString() { return String.Format("Jupiter Bank Saver:Balance={0,6:C}", balance); } }
可见,这两个实现类多继承了IBankAccount接口,因此它们必须要实现接口中的所有声明的方法。要不然,编译就会出错。让我们来测试一下,下面是测试代码:
static void Main(string[] args) { IBankAccount venusAccount = new SaverAccount(); IBankAccount jupiterAccount = new CurrentAccount(); venusAccount.PayIn(200); jupiterAccount.PayIn(500); Console.WriteLine(venusAccount.ToString()); jupiterAccount.PayIn(400); jupiterAccount.Withdraw(500); jupiterAccount.Withdraw(100); Console.WriteLine(jupiterAccount.ToString());
}
|