Saya menggunakan Java sebelumnya, dan saya bisa melakukan apa saja dengan Eclipse. Sekarang, karena saya ingin menggunakan Delphi untuk memodifikasi perangkat lunak pesan instan, saya ingin tahu bagaimana memindahkan sistem rekonstruksi dan pengujian unit ke Delphi. Buku ini mengatakan bahwa menambahkan tes unit ke kode yang ada dapat memperdalam pemahaman Anda tentang kode dan berfungsi sebagai dasar untuk meningkatkan kode. Jadi, untuk membangun platform gesit seperti itu, saya melakukan upaya kecil dengan Delphi2005 dan Dunit, dan mencatat hasil di bawah ini untuk dibagikan kepada Anda.
1. Unduh Delphi2005
Karena Borland tidak menjual versi profesional di Cina, mengingat harga arsitek dan versi perusahaan yang sangat tinggi, ia hanya dapat mengunduh versi D dari internet untuk penggunaan pribadi. Delphi2005 berukuran relatif besar, dan Update1 juga memerlukan CD, sehingga disarankan untuk menggunakan BT untuk mengunduh versi 2CD. Alamat benih adalah sebagai berikut:
http://www.delphhifans.com/softview/821.html
2. Unduh SP1 dari Delphi2005
Dikatakan bahwa setelah menerapkan tambalan ini, itu bisa lebih cepat, tetapi tambalannya lambat untuk dipasang dan Anda masih perlu menggunakan CD. Alamat unduhan adalah sebagai berikut:
http://www.delphhifans.com/softview/970.html
3. Unduh Dunit
https://sourceForge.net/projects/dunit/
4. Instal Delphi2005+SP1
Perhatikan bahwa ada register di Keygen dan ketika menginstal, Anda harus menginstal versi .net dan Win32 dari Delphi pada saat yang sama, tetapi C# Builder tidak masalah. Karena jika Anda hanya menginstal versi Win32, fungsi rekonstruksi tidak akan tersedia (ini adalah bug di Delphi2005, yang dimanifestasikan sebagai jendela pengecualian .net saat refactoring).
5. Sederhanakan Delphi2005
Karena versi .NET diinstal pada saat yang sama pada langkah sebelumnya, Delphi menjadi sangat lambat saat memulai. Ini dapat dicapai dengan memodifikasi registri dan menghapus beberapa paket IDE. Metode spesifik adalah menambahkan parameter -rxxx setelah target pintasan Delphi, yaitu, bds.exe -rxxx. XXX ini untuk Anda tentukan, dan kemudian Anda akan menemukan paket -paket sialan di HKEY_CURRENT_USER/Software/Borland/XXX (ini adalah nama yang Anda pilih XXX) /3.0/KOMENT Paket IDE. Perhatikan bahwa Anda tidak dapat menghapusnya terlalu bersih seperti molekul murni Win32 lainnya di internet, karena tidak berguna untuk rekonstruksi. Daftar yang relatif sederhana yang saya peroleh setelah bereksperimen berkali -kali adalah sebagai berikut
"$ (Bds) // bin // vclmenudesigner90.bpl" = "(tanpa judul)"
"$ (Bds) // bin // win32debugproide90.bpl" = "(tanpa judul)"
"$ (Bds) // bin // htmide90.bpl" = "paket desainer html"
"$ (Bds) // bin // iteidew3290.bpl" = "Lingkungan terjemahan terintegrasi Borland untuk Win32"
"$ (Bds) // bin // srcmanide90.bpl" = "(tanpa judul)"
"$ (Bds) // bin // TODOIDE90.BPL" = "Borland Todo"
"$ (Bds) // bin // htmlhelp290.bpl" = "Borland Htmlhelp Viewer"
"$ (Bds) // bin // idefileFilters90.bpl" = "IDE fileFilters"
"$ (Bds) // bin // startpageide90.bpl" = "Paket IDE Borland Mulai"
"$ (Bds) // bin // refactoride90.bpl" = "paket refactoring inti borland"
"$ (Bds) // bin // dbkdebugide90.bpl" = "(tanpa judul)"
"$ (Bds) // bin // exceptiondiag90.bpl" = "(tanpa judul)"
"$ (Bds) // bin // deployide90.bpl" = "Deployment Manager"
"$ (Bds) // bin // plugview90.bpl" = "Paket Tampilan Pohon Pluggable"
"$ (Bds) // bin // coreproide90.bpl" = "Paket Core IDE Pro"
"$ (Bds) // bin // idetools90.bpl" = "Build Tools"
"$ (Bds) // bin // unittestide90.bpl" = "(tanpa judul)"
"$ (Bds) // bin // historyide90.bpl" = "(tanpa judul)"
"$ (Bds) // bin // htmltidy90.bpl" = "formatter rapi html"
"$ (Bds) // bin // htmlfmt90.bpl" = "formatter internal html"
"$ (Bds) // bin // mlcc90.bpl" = "Paket Penyelesaian Kode Bahasa Markup"
"$ (Bds) // bin // delphivclide90.bpl" = "Paket IDE Desainer Delphi VCL"
"$ (Bds) // bin // delphicoreproide90.bpl" = "(tanpa judul)"
"$ (Bds) // bin // win32debugide90.bpl" = "(tanpa judul)"
"$ (Bds) // bin // htmlide90.bpl" = "(tanpa judul)"
"$ (Bds) // bin // delphide90.bpl" = "Delphi Win32 IDE Personality"
"$ (Bds) // bin // mtspro90.bpl" = "(tanpa judul)"
"$ (Bds) // bin // mtsent90.bpl" = "(tanpa judul)"
"$ (Bds) // bin // iteidenet90.bpl" = "Lingkungan Terjemahan Terpadu Borland untuk .NET"
"$ (Bds) // bin // netimportwiz90.bpl" = "(tanpa judul)"
"$ (Bds) // bin // dataexplorer90.bpl" = "(tanpa judul)"
Meskipun masih agak lambat untuk memulai, akhirnya bisa menanggungnya.
6. Kompilasi dan pasang dunit
Gunakan metode yang Anda tahu untuk menyusun dunit ke dalam DCU dan masukkan ke dalam direktori yang Anda tentukan. Dan tambahkan direktori ini ke jalur perpustakaan Delphi Tools-> Opsi Lingkungan-> Opsi Delphi-> Library-Win32.
Juga mengkompilasi dunit.exe
7. Membangun proyek
Cara saya merekomendasikan untuk memisahkan antarmuka dan latar belakang saat menulis program Delphi, khususnya untuk membuka dua proyek, satu proyek VCL biasa dan proyek DLL lainnya. Tidak, tidak, saya tidak bermaksud membiarkan Anda berbagi kode di DLL. Proyek DLL ini berisi file yang semuanya merupakan konten latar belakang, serta tes di latar belakang. DLL yang dihasilkan digunakan untuk dunit, dari mana Dunit dapat membacakan tes dan menjalankannya. Bahkan, proyek di bagian GUI berisi semua file.
Proyek ini dibagi menjadi tiga bagian: GUI, Core, dan Testcore. Proyek satu termasuk GUI+Core, dan Project Two termasuk Core+TestCore. Output dari Proyek 1 adalah program Win32Exe. Output kedua dari proyek ini adalah program Win32Dll.
Kemudian Anda dapat memasukkan kedua proyek ini ke dalam grup proyek.
8. Tes menulis
Proyek 1 tidak berbeda dengan menulis program dephi. Tes ditulis dalam Teknik No. 2, dan saya menyebut nama Teknik No. 2 Core. Mari kita tambahkan tes dasar ke Core untuk memeriksa apakah 1+1 sama dengan 2.
Buat testcase
unit testbasic;
antarmuka
penggunaan
TestFramework;
jenis
Tbasic = kelas
publik
fungsi add (a, b: integer): integer;
akhir;
Ttestbasic = class (ttestcase)
Pribadi
Fbasic: tbasic;
publik
pengaturan prosedur;
Teardown Prosedur;
diterbitkan
Prosedur TestAdd;
akhir;
Pelaksanaan
fungsi tbasic.add (a, b: integer): integer;
Mulai
Hasil: = A + B;
akhir;
Prosedur ttestbasic.setup;
Mulai
Fbasic: = tbasic.create;
akhir;
Prosedur ttestbasic.teardown;
Mulai
Fbasic.free;
akhir;
Prosedur ttestbasic.testadd;
Mulai
Checkequals (2, fbasic.add (1, 1));
akhir;
Inisialisasi
RegisterTest ('', ttestbasic.suite);
akhir.
Modifikasi Core.bdsproj (Kao, akhiran yang aneh)
Ubah mulai
ekspor
Nama terdaftar 'tes';
akhir.
Dan tambahkan TestFramework di bagian Penggunaan.
Dunit menggunakan fungsi ekspor ini untuk menemukan testcase yang kami daftarkan di DLL.
9. Jalankan Dunit
Tambahkan Dunit ke menu Tools, jauh lebih nyaman. Hanya saja parameternya sulit diisi. Saya tidak menggunakan makro di dalam, saya hanya mengisi jalur absolut. Jika Anda mengisi jalur absolut seperti saya, lalu pilih Dunit dari menu Tools dan Anda dapat langsung melihat daftar tes.
Jika Anda tidak menambahkan dunit ke menu Tools, Anda perlu menemukan DLL yang dikompilasi dari Proyek Core, Core.dll, dari jendela pemilihan file file-> Load Test.
———
Sejauh ini, ada fungsi refactoring dan pengujian unit. Yang tersisa hanyalah menambahkan tes ke kode yang ada dan kemudian perlahan -lahan refactor mereka.