Tôi đang cố gắng để kiểm tra khả năng của tôi để đăng nhập vào một API. Đương nhiên, điều đó có nghĩa là tôi cần các lớp thử nghiệm để truy cập tên người dùng và mật khẩu của mình. Tuy nhiên, tôi muốn đặt dự án này vào kiểm soát nguồn công cộng, vì vậy tôi không thể chia sẻ tên người dùng và mật khẩu của tôi trong mã (người ta sẽ tưởng tượng). Tôi sẽ sử dụng các đối số dòng lệnh, vì chúng được lưu trữ trong một tệp .user (có thể được giữ khỏi kiểm soát nguồn mà không phá vỡ dự án cho những người dùng khác). Tuy nhiên, những người dường như không thực sự được thông qua để kiểm tra các lớp học (ít nhất, khi tôi sử dụng Environment.GetCommandLineArgs()
, tôi không nhìn thấy chúng). Vậy làm cách nào tôi có thể lưu trữ mật khẩu của mình cục bộ mà không phá vỡ dự án cho những người dùng khác? Là có một cách?Visual Studio Unit thử nghiệm và đối số dòng lệnh để tránh mật khẩu trong kiểm soát nguồn
5
A
Trả lời
6
Một cách phổ biến để làm là như sau:
- Thêm mẫu hồ sơ cho dự án của bạn, với những nội dung tương tự như các tập tin bạn muốn lưu trữ những điều này, chỉ cần không có giá trị thực tế. Đặt giá trị trống hoặc giả ở vị trí của chúng.
- Thêm tệp mẫu này vào kiểm soát nguồn
- Xóa tệp phải chứa các giá trị thực tế từ kiểm soát nguồn và yêu cầu tệp bỏ qua các bản sao trong tương lai của tệp này. Tuy nhiên, Tuy nhiên, không xóa khỏi dự án của bạn.
Thêm một pre-build sự kiện xây dựng có chứa một lệnh như thế này:
IF NOT EXIST "$(ProjectDir)\App.config" COPY "$(ProjectDir)\App-template.config" "$(ProjectDir)\App.config"
này hiện nay có hiệu ứng này:
- Một mẫu của tập tin cấu hình hiện đang ở nguồn kiểm soát, mà không cần thông tin nhạy cảm
- Khi bạn sao chép hoặc kiểm tra bản sao mới của dự án, tệp thực bạn sẽ lưu trữ thông tin nhạy cảm sẽ bị thiếu trên đĩa và Visual Studio sẽ gắn cờ nó, bỏ qua
- Thực hiện việc xây dựng, điều này sẽ thực hiện lệnh ở trên, kiểm tra hiệu quả xem tệp thực tế có tồn tại hay không và sau đó sao chép một bản sao mới từ tệp mẫu.
- Chỉnh sửa tệp thực tế mới được tạo, thêm thông tin nhạy cảm.
- Do khác build
- Run đơn vị xét nghiệm hoặc chương trình
Điều bắt buộc cho phương pháp này để làm việc mà bạn có thể yêu cầu công cụ kiểm soát nguồn của bạn để bỏ qua các file có mặt trên đĩa hoặc thậm chí trong dự án chính nó để nó không tự động thêm nó vào một cam kết sau này sau khi bạn đã sửa đổi nó.
1
Đặt thông tin nhạy cảm (mật khẩu) vào tệp "SensitiveInfo.config" riêng biệt.
<?xml version="1.0" encoding="utf-8"?> <appSettings> <add key="SecretPassword" value="87DFG8S7G9S8G98SDFGHSDFG978DA" /> </appSettings>
Đặt
Sensitive.info
"Sao chép vào Output Directory" để "Copy luôn"Thêm này trong thư mục "App.Config":
<appSettings file="SensitiveInfo.config"/>
Hãy chắc chắn rằng bạn "ingnore" the " SensitiveInfo.config "tập tin bằng cách thêm nó vào .hgignore (Mercurial) hoặc.gitignore (Git)
Các vấn đề liên quan
- 1. Đối số dòng lệnh với Visual Studio Unit Testing C#
- 2. Chạy mstest từ dòng lệnh đối với thử nghiệm C++ gốc Visual Studio 2012
- 3. Python/Django - Tránh lưu mật khẩu trong mã nguồn
- 4. Truyền đối số dòng lệnh trong Visual Studio 2010?
- 5. (Unit) Thử nghiệm ArrayAdapter
- 6. Làm cách nào để tránh lưu trữ mật khẩu trong kiểm soát phiên bản?
- 7. Tải thử nghiệm trong Visual Studio 2010
- 8. Tích hợp dự án thử nghiệm Visual Studio với kiểm soát hành trình
- 9. Nhập mật khẩu dòng lệnh bằng Python
- 10. Visual Studio 2010 và Phát triển thử nghiệm theo hướng
- 11. đặt đối số dòng lệnh cho các thử nghiệm trong tệp cabal?
- 12. Đối số dòng lệnh nào Visual Studio sử dụng để chạy MsTest?
- 13. nhắc nhập mật khẩu trong Haskell dòng lệnh ứng dụng
- 14. Trạng thái ràng buộc kiểm soát nguồn không hợp lệ: Visual Studio 2005 và VSS
- 15. Chạy thử nghiệm đơn vị JavaScript bên trong Visual Studio
- 16. Chạy thử nghiệm thước đo trong Visual Studio 2013
- 17. Trình kiểm tra Á hậu thử nghiệm của Gallio cho Visual Studio 2008 và 2010 cho các thử nghiệm MBUnit
- 18. Cách thức tích hợp kiểm soát nguồn SVN và Visual Studio .NET 2005/2008?
- 19. python thử/cuối cùng để kiểm soát dòng chảy
- 20. Visual Studio Unit Test: tại sao chạy thử nghiệm không kết thúc trong khi thử nghiệm các giá trị float giống nhau?
- 21. Vấn đề chạy thử nghiệm đơn vị trong Visual Studio
- 22. Truyền tham số dòng lệnh bằng Visual Studio C#
- 23. Cách thêm tham số Á hậu thử nghiệm trong Android Studio 2.3 thử nghiệm thiết bị
- 24. Chạy tất cả các thử nghiệm mở trong Visual Studio
- 25. Chuyển đổi ngữ cảnh kiểm soát nguồn trong Visual Studio Team Explorer
- 26. Những tệp nào trong Tham chiếu dịch vụ thuộc về kiểm soát nguồn. (Visual Studio)
- 27. Làm thế nào để sử dụng gpg dòng lệnh để kiểm tra mật khẩu là đúng
- 28. nunit3 cách đưa loại thử nghiệm trong dòng lệnh
- 29. C# Unit Kiểm tra tham số StreamWriter
- 30. Django Unit Test để thử nghiệm một download tập tin
tại sao không phải tệp cấu hình bạn xóa dữ liệu nhạy cảm trước khi đăng ký? – DrewJordan
Có những cách tốt hơn để xử lý loại điều này, xem câu trả lời của tôi cho một trong những cách này. Có một tập tin mà bạn phải nhớ để chỉnh sửa thông tin nhạy cảm là một công thức cho "thảm họa" (tùy thuộc vào mức độ xấu của thông tin này kết thúc trong kiểm soát nguồn). Nó ** sẽ ** bị lãng quên. –