8. پیوستها
8.1. کجا میتوانم Spring را پیدا کنم؟
وبسایت اصلی Spring در [http://www.springframework.org/] قرار دارد. این وبسایت مربوط به نسخهٔ جاوا است. نسخهٔ .NET که در حال توسعه است (آوریل ۲۰۰۵) را میتوانید در نشانی [http://www.springframework.net/] بیابید.

وبسایت دانلود در آدرس [SourceForge] قرار دارد:

پس از دانلود فایل زیپ بالا، آن را از حالت فشرده خارج کنید:

در این سند، ما فقط از محتویات پوشه [bin] استفاده کردهایم:

در یک پروژهٔ Visual Studio که از Spring استفاده میکند، دو کاری هست که همیشه باید انجام دهید:
- فایلهای بالا را در پوشه [bin] پروژه قرار دهید
- یک مرجع به اسمبلی [Spring.Core.dll] به پروژه اضافه کنید
8.2. NUnit را از کجا میتوانم پیدا کنم؟
وبسایت اصلی Nunit، [http://www.nunit.org/] است. نسخهای که در آوریل ۲۰۰۵ در دسترس بود، ۲.۲.۰ است:

این نسخه را دانلود و نصب کنید. نصب، پوشهای حاوی نسخهٔ آزمایشی گرافیکی ایجاد میکند:
بخش جالب در پوشه [bin] قرار دارد:


پیکان بالا به ابزار تست گرافیکی اشاره میکند. نصب همچنین موارد جدیدی را به مخزن assembly ویژوال استودیو اضافه کرده است که اکنون آنها را بررسی خواهیم کرد.
بیایید پروژهٔ زیر را در ویژوال استودیو ایجاد کنیم:
کلاسی که در حال آزمایش است در [Personne.vb] قرار دارد:

Public Class Personne
' fields خصوصی
Private _nom As String
Private _age As Integer
' سازندهٔ پیشفرض
Public Sub New()
End Sub
' ویژگیهای مرتبط با فیلدهای خصوصی
Public Property nom() As String
Get
Return _nom
End Get
Set(ByVal Value As String)
_nom = Value
End Set
End Property
Public Property age() As Integer
Get
Return _age
End Get
Set(ByVal Value As Integer)
_age = Value
End Set
End Property
' رشته هویت
Public Overrides Function tostring() As String
Return String.Format("[{0},{1}]", nom, age)
End Function
' متد init
Public Sub init()
Console.WriteLine("init personne {0}", Me.ToString)
End Sub
' متد بستن
Public Sub close()
Console.WriteLine("destroy personne {0}", Me.ToString)
End Sub
End Class
کلاس تست در [NunitTestPersonne-1.vb] است:
Imports System
Imports NUnit.Framework
<TestFixture()> _
Public Class NunitTestPersonne
' شیء تحت تست
Private personne1 As Personne
<SetUp()> _
Public Sub init()
' یک نمونه از Person ایجاد میشود
personne1 = New Personne
' لاگ
Console.WriteLine("setup test")
End Sub
<Test()> _
Public Sub demo()
' لاگ صفحه
Console.WriteLine("début test")
' ابتداییسازی person1
With personne1
.nom = "paul"
.age = 10
End With
' آزمایشها
Assert.AreEqual("paul", personne1.nom)
Assert.AreEqual(10, personne1.age)
' گزارش صفحه
Console.WriteLine("fin test")
End Sub
<TearDown()> _
Public Sub destroy()
' نظارت
Console.WriteLine("teardown test")
End Sub
End Class
چند نکته قابل توجه وجود دارد:
- متدها دارای ویژگیهایی هستند مانند <Setup()>, <TearDown()>, …
- برای اینکه این ویژگیها شناسایی شوند، باید شرایط زیر برقرار باشد:
- پروژه باید به اسمبلی [nunit.framework.dll] ارجاع دهد
- کلاس تست فضای نام [NUnit.Framework] را وارد میکند
مرجع با کلیک راست روی [References] در Solution Explorer اضافه میشود:
![]() | ![]() |

اگر نصب [Nunit] با موفقیت انجام شده باشد، assembly با نام [nunit.framework.dll] باید در لیست ظاهر شود. برای افزودن آن به پروژه، کافی است روی آن دوبار کلیک کنید:

پس از انجام این کار، کلاس تست [NunitTestPersonne] باید فضای نام [NUnit.Framework] را وارد کند:
سپس باید ویژگیهای کلاس تست [NunitTestPersonne] شناسایی شوند.
- ویژگی <Test()> متدی را که باید آزمایش شود مشخص میکند
- ویژگی <Setup()> متدی را که باید قبل از هر متد تحت آزمایش اجرا شود، مشخص میکند
- ویژگی <TearDown()> متدی را که پس از هر متد تحت تست اجرا میشود، مشخص میکند
- متد Assert.AreEqual برای بررسی برابری دو entités.Il استفاده میشود؛ متدهای بسیاری دیگر از نوع Assert.xx وجود دارند.
- ابزار NUnit به محض اینکه یک روش [Assert] شکست بخورد، اجرای آن را متوقف کرده و یک پیام خطا نمایش میدهد. در غیر این صورت، یک پیام موفقیت را نمایش میدهد.
بیایید پروژه خود را برای تولید یک DLL پیکربندی کنیم:

فایل تولیدشده DLL با نام [nunit-demos-1.dll] نامگذاری شده و بهطور پیشفرض در پوشه [bin] پروژه قرار میگیرد. بیایید پروژه خود را بسازیم. خروجی زیر را در پوشه [bin] مشاهده میکنیم:

اکنون بیایید ابزار تست گرافیکی Nunit را اجرا کنیم. به یاد داشته باشید که این ابزار در <Nunit>\bin قرار دارد و [nunit-gui.exe] نامیده میشود. <Nunit> به پوشه نصب [Nunit] اشاره دارد. رابط کاربری زیر ظاهر میشود:

بیایید از گزینه منوی [File/Open] برای بارگذاری فایلهای DLL و [nunit-demos-1.dll] از پروژه خود استفاده کنیم:

[Nunit] قادر است کلاسهای تست موجود در DLL بارگذاریشده را بهطور خودکار شناسایی کند. در اینجا، کلاس [NunitTestPersonne] را پیدا میکند. سپس تمام متدهای این کلاس را که دارای ویژگی <Test()> هستند، نمایش میدهد. دکمه [Run] به شما امکان میدهد تستها را روی شیء انتخابشده اجرا کنید. اگر این کلاس [NunitTestPersonne] باشد، تمام متدهای نمایشدادهشده تست میشوند. شما میتوانید با انتخاب یک متد خاص و درخواست اجرای آن از طریق [Run]، درخواست تست یک متد مشخص را بدهید. بیایید اجرای کلاس را درخواست کنیم:

یک تست موفق برای یک متد با یک نقطه سبز در کنار متد در پنجره سمت چپ نشان داده میشود. یک تست ناموفق با یک نقطه قرمز نشان داده میشود.
پنجره [Console.Out] در سمت راست، نمایشهای صفحهای را که توسط روشهای در حال آزمایش تولید شدهاند، نشان میدهد. در اینجا، ما میخواستیم پیشرفت یک تست را دنبال کنیم:
- خط ۱ نشان میدهد که متد ویژگی <Setup()> قبل از آزمون اجرا میشود
- خطوط ۲–۳ توسط متد مورد آزمایش [demo] تولید میشوند (به کد بالا مراجعه کنید)
- خط ۴ نشان میدهد که متد ویژگی <TearDown()> پس از آزمون اجرا میشود

