Bagikan melalui


Gambaran Umum String dan Izin Koneksi

Untuk menjalankan pengujian unit SQL Server, Anda harus menyambungkan ke server database dengan menggunakan satu atau dua string koneksi tertentu. Setiap string koneksi mewakili akun yang memiliki izin khusus yang harus Anda lakukan tugas atau kumpulan tugas dalam skrip tertentu sebagai bagian dari pengujian. Anda dapat menentukan string ini dalam kotak dialog SQL Server Test Configuration atau dengan mengedit file app.config secara manual untuk proyek pengujian Anda.

String Koneksi

Dalam kotak dialog SQL Server Uji Konfigurasi, Anda dapat menentukan string koneksi untuk setiap akun berikut.

Catatan

Konteks eksekusi dan konteks istimewa hanya berbeda jika Anda menggunakan autentikasi SQL Server. Jika Anda menggunakan autentikasi Windows, kredensial yang sama akan digunakan untuk kedua string koneksi.

  • Konteks Eksekusi (Wajib) - akun pengguna untuk menjalankan skrip pengujian. String koneksi ini harus memiliki kredensial yang sama dengan yang Anda harapkan untuk dimiliki pengguna Anda. Ini penting karena memastikan bahwa izin yang sesuai telah diterapkan ke database Anda. Untuk informasi selengkapnya, lihat Cara: Mengonfigurasi Eksekusi Pengujian Unit SQL Server.

    Dalam file app.config untuk proyek pengujian Anda, ini adalah ExecutionContext elemen .

  • Konteks Istimewa (Opsional) - akun pada database yang sama yang memiliki izin lebih tinggi untuk menjalankan tindakan pra-pengujian, tindakan pasca-pengujian, TestInitialize, dan skrip TestCleanup. Skrip ini mengatur status database dan untuk tindakan pasca-pengujian, dapat digunakan untuk memvalidasi objek dalam database. String koneksi ini juga digunakan untuk menyebarkan perubahan database dan menghasilkan data.

    Dalam file app.config untuk proyek pengujian Anda, ini adalah PrivilegedContext elemen . Jika pengujian unit SQL Server Anda hanya menjalankan skrip pengujian, Anda tidak perlu menentukan konteks istimewa.

String yang Anda tentukan dalam kotak dialog konfigurasi proyek disimpan dalam file app.config proyek pengujian Anda. Anda juga dapat mengedit file tersebut secara langsung dan membangun kembali proyek, setelah itu nilai baru muncul dalam kotak dialog.

Autentikasi Windows versus Autentikasi SQL Server

Saat Menentukan string koneksi, Anda harus memilih antara penggunaan autentikasi Windows dan autentikasi SQL. Salah satu alasan untuk memilih autentikasi Windows adalah mendukung penggunaan pengujian oleh tim yang lebih baik daripada autentikasi SQL Server. Jika Anda memilih autentikasi SQL Server, string koneksi dienkripsi, menggunakan Api Perlindungan Data (DPAPI), berdasarkan kredensial pengguna Anda. Ini berarti bahwa pengujian dalam proyek pengujian ini hanya akan berjalan untuk Anda, bukan untuk anggota tim yang mendapatkan tes melalui sistem kontrol sumber setelah Anda memeriksanya. Untuk menjalankan pengujian dalam proyek pengujian ini, yang lain di tim Anda harus mengonfigurasi ulang proyek pengujian dengan menggunakan kredensial mereka sendiri. Untuk melakukan ini, mereka akan mengedit salinan file app.config atau menggunakan kotak dialog konfigurasi proyek.

Izin

Skrip pengujian berjalan pada tingkat izin konteks eksekusi, yang merupakan tingkat izin yang sama yang akan berlaku untuk perintah pengguna yang dijalankan pada database saat digunakan secara umum. Tindakan pra-pengujian, pasca-pengujian, TestInitialize, dan skrip TestCleanup berjalan pada tingkat izin konteks istimewa.

Karena koneksi izin yang lebih tinggi yang digunakan untuk skrip tindakan pasca-pengujian, Anda dapat melakukan validasi di dalamnya. Dalam skrip ini, Anda juga dapat menjalankan perintah skrip yang menguji izin. Untuk informasi selengkapnya tentang izin, lihat bagian pengujian unit SQL Server dari Izin yang Diperlukan untuk SQL Server Data Tools.

Lihat juga

Membuat dan Menentukan Pengujian Unit SQL Server
Skrip dalam Pengujian Unit SQL Server
File Pengujian Unit SQL Server