chưa đọc
Tôi biết Trình gỡ lỗi PHP nâng cao nhưng tôi cần loại trình gỡ lỗi này
chức năng cho là chế nhạo và thử nghiệm
Để làm ví dụ, tôi muốn sử dụng tính năng mô phỏng PHPUnit để tạo mô phỏng của một
tầng lớp. Tuy nhiên, trong hàm tạo của lớp này là dòng sau để
lấy chuỗi JSON dự kiến
$result = file_get_contents['php. //đầu vào'];
Tôi không thể ghi đè chức năng file_get_contents[]
. công việc xung quanh là
khỉ vá lớp dưới dạng giả và ghi đè hàm tạo [sao chép TẤT CẢ
logic từ hàm tạo đến mô hình giả cho phép lấy kết quả $
từ danh sách đối số của hàm tạo]
Điều này thật khó xử và trong trường hợp sử dụng của tôi, hàm tạo cũng thực hiện các cuộc gọi đến
các phương thức tĩnh trong các đối tượng khác mà phiên bản PHPUnit mới nhất thực hiện
không cho phép bạn chế nhạo các phương thức tĩnh
ADP không được chấp nhận để ghi đè các chức năng ở chỗ nó yêu cầu mã nhị phân để
được cài đặt và php. ini được cấu hình cũng như không hỗ trợ điều này trong
các cửa sổ
Có RFC nào mà tôi không tìm thấy cho phép dễ dàng ghi đè
Chức năng tích hợp sẵn?
@function file_get_contents[$string]
{
trả về 'chuỗi giả';
}
Kỹ năng C của tôi khá kém và việc hiểu công cụ Zend là một điều khó khăn
nhiệm vụ hoặc tôi sẽ tự tạo một RFC. Ma quỷ là trong các chi tiết. Sự thật
câu hỏi tôi đang hỏi là một thứ như thế này sẽ KHÓ NHƯ THẾ NÀO để viết mã
và đưa vào lõi PHP?
chưa đọc Tôi biết Trình gỡ lỗi PHP nâng cao nhưng tôi cần loại trình gỡ lỗi này Để làm ví dụ, tôi muốn sử dụng tính năng mô phỏng PHPUnit để tạo mô phỏng của một $result = file_get_contents['php. //đầu vào']; Tôi không thể ghi đè chức năng Điều này thật khó xử và trong trường hợp sử dụng của tôi, hàm tạo cũng thực hiện các cuộc gọi đến ADP không được chấp nhận để ghi đè các chức năng ở chỗ nó yêu cầu mã nhị phân để Có RFC nào mà tôi không tìm thấy cho phép dễ dàng ghi đè @function file_get_contents[$string] Kỹ năng C của tôi khá kém và việc hiểu công cụ Zend là một điều khó khăn Đã có runkit và uopz cho phép ghi đè hiện có -- chưa đọc Để làm ví dụ, tôi muốn sử dụng tính năng mô phỏng PHPUnit để tạo mô phỏng của một
chức năng cho là chế nhạo và thử nghiệm
tầng lớp. Tuy nhiên, trong hàm tạo của lớp này là dòng sau để
lấy chuỗi JSON dự kiếnfile_get_contents[]
. công việc xung quanh là
khỉ vá lớp dưới dạng giả và ghi đè hàm tạo [sao chép TẤT CẢ
logic từ hàm tạo đến mô hình giả cho phép lấy kết quả $
từ danh sách đối số của hàm tạo]
các phương thức tĩnh trong các đối tượng khác mà phiên bản PHPUnit mới nhất thực hiện
không cho phép bạn chế nhạo các phương thức tĩnh
được cài đặt và php. ini được cấu hình cũng như không hỗ trợ điều này trong
các cửa sổ
Chức năng tích hợp sẵn?
{
trả về 'chuỗi giả';
}
nhiệm vụ hoặc tôi sẽ tự tạo một RFC. Ma quỷ là trong các chi tiết. Sự thật
câu hỏi tôi đang hỏi là một thứ như thế này sẽ KHÓ NHƯ THẾ NÀO để viết mã
và đưa vào lõi PHP?
chức năng
Christoph M. Becker
tầng lớp. Tuy nhiên, trong hàm tạo của lớp này là dòng sau để
lấy chuỗi JSON dự kiến
$result = file_get_contents['php. //đầu vào'];
Tôi không thể ghi đè chức năng file_get_contents[]
Câu trả lời ngắn. Không. Không có RFC hiện tại, khả thi cho mục đích này
Cá nhân, tôi không mong đợi một người sẽ vượt qua
-Sara
chưa đọc
Tôi biết Trình gỡ lỗi PHP nâng cao nhưng tôi cần loại trình gỡ lỗi này
chức năng cho là chế nhạo và thử nghiệm
Nếu đang sử dụng không gian tên, bạn có thể thử ghi đè các hàm tích hợp
theo cách đó. Tôi đã thực hiện việc này thành công trong thư viện của riêng mình để chế nhạo ldap
và gọi hàm imap [https. //git. io/v7ALm]
Bài viết gốc về ý tưởng
http. //www. manuel-strehl. de/dev/overwrite_PHP_built-in_functions. vi. html
Để làm ví dụ, tôi muốn sử dụng tính năng mô phỏng PHPUnit để tạo một bản mô phỏng
của một lớp học. Tuy nhiên, trong hàm tạo của lớp này là như sau
dòng để nhận chuỗi JSON dự kiến
Có thư viện php-mock, dường như có tích hợp cho
PHPUnit, Mockery và Lời tiên tri. Tôi không thể đảm bảo cho nó vì tôi đã không sử dụng nó
chưa
https. //github. com/php-mock/php-mock
dave
David Lundgren
dlundgren@syberisle. net
GPG. 0x26F54D7F
chưa đọc
Có RFC nào mà tôi không tìm thấy cho phép dễ dàng ghi đè
Chức năng tích hợp sẵn?
Không, nhưng có một phần mở rộng. https. //pecl. php. mạng/gói/uopz
Tuy nhiên, tôi tin rằng người duy trì nó khuyên bạn nên tránh sử dụng nó
nếu có thể bởi vì
Tuy nhiên, trong hàm tạo của lớp này là dòng sau để
lấy chuỗi JSON dự kiến$result = file_get_contents['php. //đầu vào'];
Tôi không thể ghi đè chức năng
file_get_contents[]
. công việc xung quanh là
khỉ vá lớp dưới dạng giả và ghi đè lên hàm tạo
Cách giải quyết của bạn là giải pháp tồi cho vấn đề sai
Cố gắng kiểm tra đơn vị những thứ tương tác với thế giới thực là
điều cơ bản bị hỏng để cố gắng làm
Một điều tốt hơn nhiều nên làm là cô lập các lớp bên trong của
ứng dụng của bạn từ 'thế giới bên ngoài khủng khiếp', bằng cách giải nén
bit tương tác với thế giới bên ngoài với một giao diện được
tiêm
giao diện InputReader {
hàm công khai getString[];
}
lớp PhpInputReader triển khai InputReader {
hàm công khai getString[] {
trả về file_get_contents['php. //đầu vào'];
}
}
Và sau đó đưa vào một phiên bản giả của InputReader khi bạn đang thực hiện
kiểm tra đơn vị cho lớp hiện phụ thuộc vào InputReader
Và chỉ để được rõ ràng;
kiểm tra lớp PhpInputReader, khi nó tương tác với hệ thống và
vì vậy không thể được kiểm tra đơn vị. Cố gắng thực hiện một bài kiểm tra đơn vị cho một cái gì đó
điều đó nên có một bài kiểm tra tích hợp chỉ là điều sai trái
Có một bài nói chuyện của một người tên là J B Rainsberger đã giúp tôi
hiểu bản chất chính xác của bài kiểm tra đơn vị và bài kiểm tra tích hợp
https. //www. youtube. com/watch?v=VDfX44fZoMc hoặc
http. //vimeo. com/80533536
Tôi thực sự khuyên bạn nên xem nó cho bất cứ ai đang nghĩ rằng
thay thế các chức năng như file_get_contents[]
bằng phiên bản thử nghiệm là một
điều thích hợp để làm
hoan hô
Đan
xác nhận
chưa đọc
Tôi biết Trình gỡ lỗi PHP nâng cao nhưng tôi cần loại trình gỡ lỗi này
chức năng cho là chế nhạo và thử nghiệmĐể làm ví dụ, tôi muốn sử dụng tính năng mô phỏng PHPUnit để tạo mô phỏng của một
tầng lớp. Tuy nhiên, trong hàm tạo của lớp này là dòng sau để
lấy chuỗi JSON dự kiến$result = file_get_contents['php. //đầu vào'];
Tôi không thể ghi đè chức năng
file_get_contents[]
. công việc xung quanh là
khỉ vá lớp dưới dạng giả và ghi đè hàm tạo [sao chép TẤT CẢ
logic từ hàm tạo đến mô hình giả cho phép lấy kết quả $
từ danh sách đối số của hàm tạo]Điều này thật khó xử và trong trường hợp sử dụng của tôi, hàm tạo cũng thực hiện các cuộc gọi đến
các phương thức tĩnh trong các đối tượng khác mà phiên bản PHPUnit mới nhất thực hiện
không cho phép bạn chế nhạo các phương thức tĩnhADP không được chấp nhận để ghi đè các chức năng ở chỗ nó yêu cầu mã nhị phân để
được cài đặt và php. ini được cấu hình cũng như không hỗ trợ điều này trong
các cửa sổCó RFC nào mà tôi không tìm thấy cho phép dễ dàng ghi đè
Chức năng tích hợp sẵn?@function file_get_contents[$string]
{
trả về 'chuỗi giả';
}Kỹ năng C của tôi khá kém và việc hiểu công cụ Zend là một điều khó khăn
nhiệm vụ hoặc tôi sẽ tự tạo một RFC. Ma quỷ là trong các chi tiết. Sự thật
câu hỏi tôi đang hỏi là một thứ như thế này sẽ KHÓ NHƯ THẾ NÀO để viết mã
và đưa vào lõi PHP?
Đã có runkit và uopz cho phép ghi đè hiện có
chức năng
- https. //pecl. php. mạng/gói/runkit
- https. //pecl. php. mạng/gói/uopz
--
Christoph M. Becker
chưa đọc
Tôi biết Trình gỡ lỗi PHP nâng cao nhưng tôi cần loại trình gỡ lỗi này
chức năng cho là chế nhạo và thử nghiệm
Nếu đang sử dụng không gian tên, bạn có thể thử ghi đè các hàm tích hợp
theo cách đó. Tôi đã thực hiện việc này thành công trong thư viện của riêng mình để chế nhạo ldap
và gọi hàm imap [https. //git. io/v7ALm]
Bài viết gốc về ý tưởng
http. //www. manuel-strehl. de/dev/overwrite_PHP_built-in_functions. vi. html
Để làm ví dụ, tôi muốn sử dụng tính năng mô phỏng PHPUnit để tạo một bản mô phỏng
của một lớp học. Tuy nhiên, trong hàm tạo của lớp này là như sau
dòng để nhận chuỗi JSON dự kiến
Có thư viện php-mock, dường như có tích hợp cho
PHPUnit, Mockery và Lời tiên tri. Tôi không thể đảm bảo cho nó vì tôi đã không sử dụng nó
chưa
https. //github. com/php-mock/php-mock
dave
David Lundgren
dlundgren@syberisle. net
GPG. 0x26F54D7F
chưa đọc
Có RFC nào mà tôi không tìm thấy cho phép dễ dàng ghi đè
Chức năng tích hợp sẵn?
Không, nhưng có một phần mở rộng. https. //pecl. php. mạng/gói/uopz
Tuy nhiên, tôi tin rằng người duy trì nó khuyên bạn nên tránh sử dụng nó
nếu có thể bởi vì
Tuy nhiên, trong hàm tạo của lớp này là dòng sau để
lấy chuỗi JSON dự kiến$result = file_get_contents['php. //đầu vào'];
Tôi không thể ghi đè chức năng
file_get_contents[]
. công việc xung quanh là
khỉ vá lớp dưới dạng giả và ghi đè lên hàm tạo
Cách giải quyết của bạn là giải pháp tồi cho vấn đề sai
Cố gắng kiểm tra đơn vị những thứ tương tác với thế giới thực là
điều cơ bản bị hỏng để cố gắng làm
Một điều tốt hơn nhiều nên làm là cô lập các lớp bên trong của
ứng dụng của bạn từ 'thế giới bên ngoài khủng khiếp', bằng cách giải nén
bit tương tác với thế giới bên ngoài với một giao diện được
tiêm
giao diện InputReader {
hàm công khai getString[];
}
lớp PhpInputReader triển khai InputReader {
hàm công khai getString[] {
trả về file_get_contents['php. //đầu vào'];
}
}
Và sau đó đưa vào một phiên bản giả của InputReader khi bạn đang thực hiện
kiểm tra đơn vị cho lớp hiện phụ thuộc vào InputReader
Và chỉ để được rõ ràng;
kiểm tra lớp PhpInputReader, khi nó tương tác với hệ thống và
vì vậy không thể được kiểm tra đơn vị. Cố gắng thực hiện một bài kiểm tra đơn vị cho một cái gì đó
điều đó nên có một bài kiểm tra tích hợp chỉ là điều sai trái
Có một bài nói chuyện của một người tên là J B Rainsberger đã giúp tôi
hiểu bản chất chính xác của bài kiểm tra đơn vị và bài kiểm tra tích hợp
https. //www. youtube. com/watch?v=VDfX44fZoMc hoặc
http. //vimeo. com/80533536
Tôi thực sự khuyên bạn nên xem nó cho bất cứ ai đang nghĩ rằng
thay thế các chức năng như file_get_contents[]
bằng phiên bản thử nghiệm là một
điều thích hợp để làm
hoan hô
Đan
xác nhận