今天的内容会开始介绍我们要使用的整合开发环境 — Visual Studio,在维基百科是这样简述 Visual Studio:Microsoft Visual Studio(视觉工作室,简称 VS 或 MSVS)是微软公司的开发工具套件系列产品。VS 是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如 UML 工具、程序码管控工具、整合开发环境(IDE)等等。
也是做为我目前工作系统的开发工具。以下用引用其他 Youtuber 的教学影片分别教学如何在 Windows 与 Mac 作业系统上安装。
Windows:Visual Studio 2022 | Download & Installation
Mac:How To Install Visual Studio for Mac | Install Visual Studio on macOS
做为本系列第一次写测试的专案,采用 .NET Standard 2.1 框架且不引入任何第三方套件做为本次的测试专案兼范例,而系统功能主题为银行帐户 (Account)。银行帐户本身带有的属性就是余额 (Balance);而银行帐户类别建构子提供了两种方式:有提供余额跟未提供余额,未提供余额皆预设帐户余额为零元;最後是商业逻辑方法,因重点在於如何撰写单元测试,因此此专案仅列出象徵性的功能:存款 (Add)、取款 (Withdraw) 与转帐 (TransferFundsTo)。
而後本系列开发的专案,为了保持一致的程序风格,会统一属性、建构子与商业逻辑撰写方式
private double balance;
public double Balance
{
get { return balance; }
}
public BankAccount()
{
}
public BankAccount(double balance)
{
this.balance = balance;
}
public void Add(double amount)
{
if (amount < 0)
{
throw new ArgumentOutOfRangeException(nameof(amount));
}
balance += amount;
}
另一方面,单元测试的程序风格如下:
[Test]
public void Adding_Funds_Updates_Balance()
{
// Arrange
account = new BankAccount(1000);
// Act
account.Add(500);
// Assert
Assert.AreEqual(1500, account.Balance);
}
PS:而後都是依照 3A 原则:Arrange -> Act -> Assert,明天 Day 5 会介绍 3A 原则。
最後提供 Hello Bank Startup 的连结:https://github.com/SunShineYen/HelloBank (可先测试专案是否可以编译,又试着利用 IDE 跑测试)
Hello Bank 的内容是参考於 MatthiWare 的教学影片:https://www.youtube.com/c/MatthiWare/search?query=NUnit
Hello, 各位 iT邦帮忙 的粉丝们大家好~~~ 本篇是 Re: 从零开始用 Xamarin 技...
这几天我们已经从 API 取得资料到包装成物件,再来就是资料显示罗。 这两天的范例会以对话页面为主,...
Understand responsible AI Fairness - Without incor...
目的 当系统内的物件们各自沟通的情况日益严重时,建立一个负责沟通的集中所,让元件们不在「直接」,而是...
学习内容 联集、连接、子查询 联集 (union) 员工名字 union 客户名字 PS 两个表格间...